Voici les commandes qu’on utilise vraiment.

Les modes

Vim a quatre modes, et c’est la base de tout :

  • Mode normal : le mode par défaut. On navigue et on exécute des commandes. On n’écrit pas.
  • Mode insertion : on tape du texte, comme dans n’importe quel éditeur. On y entre avec i, on en sort avec Esc.
  • Mode visuel : on sélectionne du texte (avec v).
  • Mode commande : on tape des commandes après : en bas de l’écran.

Si tu es perdu, appuie sur Esc pour revenir en mode normal. Toujours.

Se déplacer

En mode normal :

  • h j k l : gauche, bas, haut, droite (oui, pas les flèches, même si elles marchent aussi)
  • w : mot suivant
  • b : mot précédent
  • 0 : début de la ligne
  • $ : fin de la ligne
  • gg : début du fichier
  • G : fin du fichier
  • :10 : aller à la ligne 10

Écrire du texte

Pour passer en mode insertion :

  • i : insérer avant le curseur
  • a : insérer après le curseur
  • o : nouvelle ligne en dessous
  • O : nouvelle ligne au-dessus

Esc pour revenir en mode normal.

Copier, couper, coller

En mode normal :

  • yy : copier la ligne
  • dd : couper la ligne
  • p : coller après le curseur
  • P : coller avant

En mode visuel (sélection active) :

  • y : copier la sélection
  • d : couper la sélection

Chercher et remplacer

  • /motif : chercher vers le bas
  • ?motif : chercher vers le haut
  • n : occurrence suivante
  • N : occurrence précédente
  • :%s/ancien/nouveau/g : remplacer partout dans le fichier
  • :s/ancien/nouveau/g : remplacer sur la ligne courante

Annuler

  • u : annuler
  • Ctrl + r : refaire

Plusieurs fichiers

  • :e fichier : ouvrir un fichier
  • :sp fichier : ouvrir en split horizontal
  • :vsp fichier : ouvrir en split vertical
  • Ctrl + w puis h/j/k/l : passer d’une fenêtre à l’autre

Commandes avancées

Celles-ci changent la vie une fois qu’on les connaît :

  • . : répéter la dernière action. Probablement la commande la plus utile de Vim.
  • ci" : effacer le contenu entre guillemets et passer en insertion. Marche aussi avec ci(, ci{, ci[.
  • da( : supprimer les parenthèses et leur contenu.
  • >G : indenter de la ligne courante jusqu’à la fin du fichier.
  • =G : réindenter jusqu’à la fin du fichier.

Macros

Pour les tâches répétitives :

  1. qa : commence à enregistrer dans le registre “a”
  2. Fais tes actions
  3. q : arrête l’enregistrement
  4. @a : rejoue la macro
  5. 10@a : rejoue la macro 10 fois

.vimrc

Le fichier ~/.vimrc contient ta configuration. Un minimum raisonnable :

set number          " numéros de ligne
set autoindent      " indentation auto
set tabstop=4       " largeur de tabulation
set expandtab       " espaces au lieu de tabs
syntax on           " coloration syntaxique

C’est un point de départ. La config Vim, c’est un rabbit hole : on peut y passer des heures. Commence simple. Pour mettre Vim à l’épreuve sur un projet front court, essaie un cube 3D qui tourne en CSS.