Ré-indenter tout un fichier avec Vim

Bonjour tout le monde,

Après toute une vie de recherche, j’ai enfin trouver comment je pouvais demander à Vim de ré-indenter tout un fichier ou une partie.

Ceci nécessite d’utiliser un système d’indentation comme smartindent (mon cas) ou cindent. Par exemple en faisant un :

:set smartindent

(que je recommande d’ajouter à votre vimrc soit dit en passant)

Tout ce que vous avez à faire pour ré-indenter la ligne courante est de taper “==” (sans les guillemets bien sûr, et en mode normal).
La question se pose alors, comment le faire pour toute une partie du fichier ? Simple, il suffit de sélectionner les lignes en mode visuel et d’appuyer sur la touche “=”.

Par extension on arrive à l’indentation de tout un fichier, il suffit de le sélectionner toutes les lignes (depuis le mode normal : “ggvG”) et d’appuyer sur “=”.

Que l’on peut résumer par :

  • ggVG=
  • ggvG=

(les deux combinaisons marchent)

J’espère que ça pourra servir à quelqu’un.

Bonne journée