Vi - Vim

De Wiki info-lab.fr
Aller à : Navigation, rechercher

Sommaire

Présentation

Vi (Visual Editor) et son amélioration Vim (VI iMproved) sont des éditeurs de texte standards sur tout système *NIX.
Si Vim est installé, très souvent la commande vi est en fait un lien symbolique qui lance vim.
Vi ne sait pas utiliser les touches de fonction (F1, F2 ...), les flèches directionnelles et le pavé numérique. C'est une gêne (ces touches sont bien pratiques) et un avantage car si le terminal utilisé est limité ou minimaliste, on saura se débrouiller avec un minimum de touches. vim sait utiliser les touches de fonctions, le pavé numérique et les touches directionnelles.

Modes de fonctionnement

$ vi /chemin/nom-du-fichier

Vi dont le fonctionnement peut surprendre au 1er abord, dispose de 3 modes :

  • Le mode Commande qui permet de naviguer dans le fichier ouvert, de copier/coller, de supprimer des lignes, de positionner le curseur... La touche <Echap> permet de revenir en mode Commande.
  • Le mode Edition qui permet d'éditer le fichier en insérant du texte. Les touches <Inser>, <a>, <A> ... permettent de passer du mode Commande ou mode Edition.
  • Et enfin le mode Global (ou Visuel) pour sélectionner du texte, l'enregistrer, en rechercher, en remplacer ou lancer des commandes d'édition complexes. La touche <V> permet de passer du mode Commande au mode Visuel.
  • Il n'est pas possible de passer directement du mode Edition au mode Visuel (et vice versa) sans passer par le mode Commande.

Mode Commande

Vim se lance par défaut en mode Commande, et l'on en sort pour accéder aux modes Edition ou Global au moyen de touches particulières. Voici une suite de commandes accessibles dans ce mode :

  • :q Quitter l'éditeur Vi
  • :q! Forcer la fermeture de l'éditeur Vi
  • :w Enregistrer le fichier en cours
  • :w autre-nom Enregistrer le fichier en cours en le nommant autre-nom
  • :wq! Forcer l'enregistrement du fichier en cours et quitter Vi, équivalent de ZZ
  • :e nom-de-ficher Ouvre le fichier désigné
  • V Passer en mode VISUEL-GLOBAL
  • :!commande-shell Exécute la commande Shell correspondante. La touche <Return> permet de reprendre la main.
  • i Passer en mode Edition au niveau de la position du curseur.
  • I Passer en mode Edition au début de la ligne sur laquelle est positionnée du curseur.
  • a Passer en mode Edition sur le caractère ou espace suivant la position du curseur.
  • A Passer en mode Edition à la fin de la ligne sur laquelle est positionnée le curseur.
  • u Annuler la dernière action (undo).
  • o Passer en mode Edition en ajoutant une nouvelle ligne vierge sous le positionnement du curseur.
  • dd Coupe la ligne sur laquelle est positionnée le curseur.
  • <nombre>dd Coupe <nombre> lignes à partir de celle sur laquelle est positionnée le curseur.
  • d0 Coupe tous les caractères de la ligne courante avant le curseur.
  • d$ Coupe tous les caractères de la ligne courante après le curseur.
  • yy (<nombre>yy, y0 et y$) Copier la ligne (voir dd)
  • p Coller ce qui a été copié/coupé précédement.
  • gg Déplace le curseur sur la 1ère ligne.
  • G Déplace le curseur sur la dernière ligne.
  • <nombre>G Déplace le curseur sur la ligne <nombre> .
  • <CTRL + u> Déplacement d'un demi écran vers le haut.
  • <CTRL + d> Déplacement d'un demi écran vers le bas.
  • zz Place la ligne courante au centre de la fenêtre.
  • /<terme> recherche le motif terme après le curseur, et le met en surbrillance s'il est trouvé ; la touche n (next) permet de visualiser la prochaine occurence de ce motif.
  • ?<terme> recherche le motif terme avant le curseur, et le met en surbrillance s'il est trouvé ; la touche n (next) permet de visualiser la prochaine occurence de ce motif.

Mode Edition

Dans la barre de statut en bas de la fenêtre, la mention --INSERTION-- doit apparaître.
Les caratères saisis au clavier viennent enrichir le fichier au niveau du curseur.
<ESC> permet de revenir en mode commande.

Mode Visuel

Dans la barre de statut en bas de la fenêtre, la mention --VISUEL-- doit apparaître.
<ESC> permet de revenir en mode commande.

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils