Les éditeurs de texte continuent à être utilisés pour de nombreuses tâches d'administration système, ainsi que pour la programmation. Dans le monde Unix, vi représente un éditeur qui offre des fonctions d'édition pratiques. Il est plus ergonomique que la plupart des autres éditeurs prenant en charge la souris.
Fondamentalement, vi utilise trois modes de fonctionnement : le mode insertion, le mode commande et le mode étendu. Les touches ont différentes fonctions selon le mode utilisé. Au démarrage, vi est normalement défini en mode commande. Vous devez commencer par apprendre comment passer d'un mode à l'autre :
Il existe de nombreuses possibilités, notamment la touche A pour ajouter, I pour insérer ou O pour créer une nouvelle ligne après la ligne actuelle.
Appuyez sur la touche Échap pour quitter le mode insertion. Il n'est pas possible d'arrêter vi en mode insertion : il est donc important de prendre l'habitude d'appuyer sur Échap.
Vous pouvez activer le mode étendu de vi en entrant deux points (:). Le mode étendu ou ex (pour « extended » - étendu) est comparable à un éditeur orienté ligne indépendant qui permet d'effectuer différentes tâches, des plus simples au plus complexes.
Après avoir exécuté une commande en mode étendu, l'éditeur repasse automatiquement en mode commande. Si vous décidez de ne pas exécuter une commande en mode étendu, supprimez les deux points à l'aide de la touche . L'éditeur repasse en mode commande.
Il n'est pas possible de passer directement du mode insertion au mode étendu sans d'abord passer par le mode commande.
Le programme vi, comme d'autres éditeurs, a sa propre procédure d'arrêt. Vous ne pouvez pas arrêter vi lorsqu'il est en mode insertion. Quittez d'abord le mode insertion en appuyant sur la touche Échap. Ensuite, vous avez deux options :
Quitter sans enregistrer : pour quitter l'éditeur sans enregistrer les modifications, entrez : Q ! en mode commande. Le point d'exclamation (!) indique à vi d'ignorer les modifications.
Enregistrer et quitter : il existe plusieurs possibilités pour enregistrer vos modifications et arrêter l'éditeur. En mode commande, utilisez -Z-Z. Pour quitter le programme en enregistrant toutes les modifications à l'aide du mode étendu, entrez : W Q. En mode étendu, w représente « write » (écrire) et q « quit » (quitter).
vi peut être utilisé comme un éditeur normal. En mode insertion, entrez ou supprimez du texte à l'aide des touches et . Utilisez les touches fléchées pour déplacer le curseur.
Toutefois, ces touches de contrôle génèrent souvent des problèmes, car il existe de nombreux types de terminaux qui utilisent des codes de touche spéciaux. C'est là que le mode commande entre en jeu. Appuyez sur Échap pour passer du mode insertion au mode commande. En mode commande, déplacez le curseur à l'aide des touches H, J, K et L. Ces touches ont les fonctions suivantes :
se déplace d'un caractère vers la gauche
passe à la ligne suivante
remonte à la ligne précédente
se déplace d'un caractère vers la droite
Les commandes en mode commande permettent plusieurs changements. Pour exécuter une commande plusieurs fois, il vous suffit d'entrer devant elle le nombre de fois où elle sera répétée. Par exemple, entrez 5 L pour déplacer le curseur de cinq caractères vers la droite.
Pour obtenir une sélection des principales commandes, reportez-vous au Tableau 27.1, « Commandes simples de l'éditeur vi ». Cette liste est loin d'être exhaustive. Des listes plus complètes sont disponibles dans la documentation présentée à la Section 27.4.3, « Pour plus d'informations ».
Tableau 27.1. Commandes simples de l'éditeur vi
|
Échap |
Passe en mode commande |
|
I |
Passe au mode insertion (les caractères apparaissent à la position courante du curseur) |
|
A |
Passe en mode insertion (les caractères sont insérés après la position actuelle du curseur) |
|
-A |
Passe au mode insertion (les caractères sont ajoutés à la fin de la ligne) |
|
-R |
Passe en mode remplacement (l'ancien texte est écrasé) |
|
R |
Remplace le caractère sous lequel se trouve le curseur |
|
O |
Passe au mode insertion (une nouvelle ligne est insérée après la ligne courante) |
|
-O |
Passe au mode insertion (une nouvelle ligne est insérée avant la ligne courante) |
|
X |
Supprime le caractère actuel |
|
D D |
Supprime la ligne actuelle |
|
D W |
Supprime le mot courant jusqu'à la fin |
|
C W |
Passe au mode insertion (le reste du mot courant est écrasé par les entrées suivantes) |
|
U |
Annule la dernière commande |
|
Ctrl-R |
Ré-applique la modification qui a été annulée |
|
-J |
Rejoint la ligne suivante et la ligne actuelle |
|
. |
Répète la dernière commande |
vi prend en charge une vaste gamme de commandes. Il permet d'utiliser des macros, des raccourcis, des mémoires tampons nommées, ainsi que de nombreuses autres fonctions pratiques. Une description détaillée de ces différentes options dépasserait le cadre de ce manuel. SUSE Linux est fourni avec vim (pour « vi improved »), une version améliorée de vi. Il existe de nombreuses sources d'informations pour cette application :
vimtutor est un didacticiel interactif pour vim.
Dans vim, entrez la commande :help pour obtenir de l'aide sur de nombreux sujets.
Un manuel sur vim est disponible en ligne à l'adresse suivante : http://www.truth.sk/vim/vimbook-OPL.pdf.
Les pages Web du projet vim sur le site http://www.vim.org proposent une grande variété d'informations récentes, de listes de diffusion et d'autres documentations.
Plusieurs sources vim sont disponibles sur Internet : http://www.selflinux.org/selflinux/html/vim.html, http://www.linuxgazette.com/node/view/9039 et http://www.apmaths.uwo.ca/~xli/vim/vim_tutorial.html. Pour obtenir d'autres liens vers des didacticiels, reportez-vous à http://linux-universe.com/HOWTO/Vim-HOWTO/vim-tutorial.html.
![]() | Licence VIM |
|---|---|
vim est un « caritaticiel » (« charityware » en anglais) : leurs auteurs ne font rien payer pour ce logiciel, mais vous demandent en contre-partie de faire un don financier pour un projet à but non lucratif. Ce projet fait appel à votre solidarité pour les enfants pauvres en Ouganda. Pour plus d'informations, connectez-vous aux sites http://iccf-holland.org/index.html, http://www.vim.org/iccf/ et http://www.iccf.nl/. | |