Découvrons Vi, un éditeur de texte en console !
| 21 octobre 2008 à 20:14 | Publié par informatiquepratique dans Découvrir |
Vi est un éditeur de texte en console extrêmement stable et performant.
Le principal point faible de cet éditeur est qu’il vous faudra un minimum de temps pour le maitriser. Cependant, les commandes suivent une certaine logique. Par exemple dw (pour delete word), supprimera le mot après le curseur. Si vous n’êtes pas trop mauvais en anglais, vous réussirez à mémoriser les commandes les plus courantes très rapidement.
Autre comportement qui vous destabilisera certainement lors de votre premier contact est le fait que vi soit un éditeur modal (il comporte plusieurs modes). Les deux modes les plus importants sont le mode normal et le mode d’insertion. Pour savoir dans quel mode vous vous trouvez, activez l’option 'showmode'
- Mode normal : dans ce mode, vous pouvez effectuer plein d’actions sur le texte : mise en forme, suppresion, copie et déplacement de lignes, déplacement dans le fichier. C’est le mode principal et c’est à partir de celui ci que l’on peut-accéder aux autres. Par défaut, au lancement de vi, c’est ce mode qui est utilisé.
- Mode d’insertion : dans ce mode, il est possible d’éditer le texte du fichier, d’en ajouter. On peut accéder au mode d’insertion depuis le mode normal en tapant ‘i‘. Pour retourner au mode normal, il suffit de taper ‘
Echap‘.
Passé le point faible, passons un peu à l’avantage (enfin c’est mon avis). Une fois que vous maîtriserez correctement les commandes courantes, vous gagnerez du temps ! En effet, avec vi, pratiquement tout se fait au clavier et vous n’aurrez plus besoin de jongler entre clavier/souris …
Vi est fourni en standard dans la plupart des distributions GNU/Linux. Pour y accéder, tapez simplement vi dans une console ou ViM pour Vi IMproved.
Si vi n’est pas installé sur votre distrib, vous pouvez le faire en tapant dans un terminal : sudo apt-get install vim
Pour ceux qui n’auraient jamais utilisé vi, je vous recommande de suivre l’excellent tutoriel inclu en dépendance du paquet vi en tappant : vimtutor
Les commandes suivantes peuvent servir de récapitulatif (sympa à imprimer pour ne pas sans cesse jongler avec une autre page lorsque vous utilisez vi) et sont tirées de Wikipédia.
| Commande | Effet |
|---|---|
| h et l | déplace le curseur d’un caractère à gauche et à droite |
| j et k | déplace le curseur sur la ligne suivante et précédente |
| G | déplace le curseur à la fin du fichier |
| H et L | déplace le curseur en haut [H] et en bas [L] de l’écran |
| a | insère du texte après le curseur |
| A | insère du texte à la fin de la ligne courante |
| c | efface un certain nombre de caractères, en fonction de la sous-commande (par exemple cl permet de changer le caractère courant, cw la fin du mot courant) puis passe en mode insertion |
| dd | supprime la ligne courante (et la copie dans le buffer) |
| dw | supprime le mot après le curseur (et le copie dans le buffer) |
| dW | supprime la chaîne de caractères après le curseur (s’arrête au prochain caractère blanc) |
| D | supprime la fin de la ligne à partir du curseur |
| i | insère du texte avant le curseur |
| o | ouvre une nouvelle ligne en dessous de la ligne courante |
| O | ouvre une nouvelle ligne au-dessus de la ligne courante |
| p (minuscule) | insère le contenu du buffer après le curseur (ou après la ligne courante si le buffer contient des lignes) |
| P (majuscule) | insère le contenu du buffer avant le curseur (ou avant la ligne courante si le buffer contient des lignes) |
| :q | quitte vi |
| :q! | quitte vi même si les modifications n’ont pas été enregistrées |
| :s | remplace une chaîne de caractère par une autre. Par exemple, :s/avant/après/ remplace le mot « avant » par le mot « après » sur la ligne courante |
| u | undo, annule les effets de la commande précédente |
| w | place le curseur sur le premier caractère du mot suivant |
| :w | enregistre le fichier courant |
| :wq ou :x ou ZZ | enregistre le fichier courant et quitte |
| x | supprime le caractère sous le curseur |
| yy | copie la ligne courante dans le buffer (p insère la ligne copiée après la ligne courante) |
| y3y | copie 3 lignes dont la ligne courante dans le buffer (p insère les 3 lignes copiées après la ligne courante) |
| yw | copie le mot après le curseur dans le buffer (p insère le mot copié après le curseur) |
| y3w | copie les 3 mots après le curseur dans le buffer (p insère les 3 mots copiés après le curseur) |
| / | recherche une chaîne de caractères après le curseur. Une pression sur la touche "n" permet d’aller directement à l’occurence suivante. |
| ? | recherche une chaîne de caractères avant le curseur |
| #commande | exécute # fois la commande, par exemple 5dd efface 5 lignes |
| !commande | exécute une commande shell, par exemple :!gcc -o hello hello.c |
| Echap | quitte le mode insertion (retourne au mode commande) |
A noter que sur les éditions desktop (enfin dans tout les cas sur ma Hardy Heron 8.04) les flèches directionnelles fonctionnent aussi pour se déplacer dans le document. Cependant je vous recommande d’utiliser les touches h, l, j et k (autant prendre les bonnes habitudes dès le départ) car, après avoir testé sur une dapper server, les touches directionnelles du clavier ne fonctionnent pas >_<
Si vous souhaitez en savoir plus sur les commandes de vim, tapez man vi




Poursuivez votre lecture avec ces billets en relation :
abonnez vous !
postant un commentaire
ce rétrolien
Tags:
Ce billet est placé sous licence
22 octobre 2008 @ 7:05
Pour utiliser les flèches en mode console aussi:
sudo apt-get install vim-full
27 juillet 2010 @ 19:19
Salut,
Je te conseille la communauté française, dont je suis un membre actif
Nous avons le salon xmpp://vim-fr@chat.jabberfr.org un wiki : http://vim-fr.org
Donc n’hésite pas à venir ;)
27 juillet 2010 @ 21:16
Merci pour l’info, je passerai voir !