Fonctionnement et utilisation de Vim

Fonctionnement et utilisation de Vim

VIM est un éditeur de texte OpenSource basé sur le très connu Vi, et assurant une compatibilité descendante complète avec ce dernier. Il est présent sur la quasi totalité des distributions GNU/Linux et BSD ainsi que sur certains UNIX.

Cet article est donc surtout un mémo, où je présenterai rapidement l’utilisation de base de Vim ainsi que ses différents raccourcis et ses commandes.

Pour le lancer, rien de plus simple, effectuez la comamnde vim :

Il faut savoir que Vim possède trois modes d’édition, à savoir le mode interactif, le mode insertion et le mode commandes. Voici un rapide résumé de chacun d’eux :

  • Mode interactif : C’est le mode par défaut lorsque l’on démarre Vim, il permet de se déplacer dans le texte et d’utiliser différents raccourcis pour supprimer/copier/remplacer des mots ou des lignes, mais il ne permet pas d’ajouter du texte.
  • Mode insertion : Comme son nom l’indique, ce mode permet de taper du texte. Il est accessible via la touche i du clavier.
  • Mode commandes : Ce mode, accessible via la touche : nous permet de quitter/sauvegarder notre document, ou encore de modifier les options de Vim même.

Bien, nous allons donc commencer directement par le classique: une fois démarré, comment quitter Vim ? Pour les débutants cela peut être extrêmement compliqué, à tel point que cela est devenu une blague assez répandue dans l’administration système…

Pour quitter, il nous suffit donc de passer en mode commandes et effectuer :

  • :q -> Pour quitter sans avoir édité le document ;
  • :q! -> Pour quitter même après avoir réalisé des modifications, sans les enregistrer ;
  • :wq -> Pour quitter et enregistrer le document ;

Une fois en mode Interactif, nous pouvons donc utiliser certains raccourcis pour supprimer, déplacer, copier du texte (lignes ou mots). Voici quelques raccourcis de base :

  • dd -> Couper la ligne où se trouve le curseur ;
  • yy -> Copier la ligne où se trouve le curseur ;
  • p -> Coller la ligne à l’endroit après le curseur ;
  • u -> Annuler l’action précédente (Undo) ;
  • Ctrl + R -> Annuler le fait d’avoir annulé l’action précédente (Redo) ;
  • / -> Passer en mode “recherche”, il vous suffit ensuite de taper un mot puis d’appuyer sur Entrée pour aller au mot souhaité ;

Cet article n’est pas encore terminé, il sera complété au fur et à mesure car, comme dit en préface, il s’agit surtout d’un mémo personnel.

2 commentaires

comments user
vim4life

Très chouette mémo, voilà un petit add-on :

en mode interactif :
——————–

0 = positionner le curseur au début de la ligne
$ = positionner le curseur à la fin de la ligne

i = Entrer en mode insertion (insert)
a = Entrer en mode insertion + positionner le curseur un caractère à droite de sa position actuelle (append)
I = Entrer en mode insertion + positionner le curseur en début de ligne (Insert)
A = Entrer en mode insertion + positionner le curseur en fin de ligne (Append)

ctrl+u / ctrl+d = pgUp/pgDn

H / M / L = Positionner le curseur au dessus (High), au milieu (Middle), au bas (Low) de l’écran

zz = positionne la ligne où se trouve le curseur au milieu de l’écran

2dd = Coupe 2 lignes à partir de la ligne où se trouve le curseur (delete)
46yy = Copie 46 lignes à partir de la ligne où se trouve le curseur (yank)
P = Colle les lignes coupées/copiées au dessus de la position du curseur (Paste)
p = Colle les lignes coupées/copiées en dessous de la position du curseur (paste)

ZZ = :wq!

d$ = D = supprime le contenu à partir de la position du curseur jusqu’à la fin de la ligne (Delete)
c$ = C = supprime le contenu à partir de la position du curseur jusqu’à la fin de la ligne + passe en mode insertion (Change)

diw/daw = supprime le mot où est positionné le curseur sans (i)/avec (a) les espaces autour (Delete Inner/Around Word)
ciw/caw = supprime le mot où est positionné le curseur sans (i)/avec (a) les espaces autour + pass en mode insertion (Change Inner/Around Word)

da” = supprime le contenu balisé par des guillemets avec les espaces autour (Delete Around “)

. = répète l’action précédente

comments user
Mairien Anthony

Merci à toi ! J’avoue que je n’utilise que 10% des capacités de Vim haha.

Laisser un commentaire

You May Have Missed