mardi 4 novembre 2014

Vim - Les commandes à retenir

vim


Dans ce billet, je vais lister quelques commandes vraiment pratiques dans l'utilisation quotidienne de Vim. C'est en quelque sorte "The ultimate survial guide of Vim". Cette liste est bien sûr non exhaustive et il en existe encore une multitude. N'hésitez pas à les faire partager si vous avez.


  • Les commandes de bases (communes à l'éditeur "vi")
:wq (ou alors :x)Sauvegarde puis ferme le fichier
:q!Ferme le fichier sans enregistrer les modifications
:45Positionne le curseur à la 45ème ligne du fichier
ddSupprime la ligne courante
iPasse en mode insertion (Touche "Echap" pour sortir du mode)

  • Effectuer un remplacement massif dans le fichier
Une fois le fichier ouvert, taper l'expression suivante :%s/texte_origine/nouveau_texte/g puis pressez la touche "Entrer"

  • Commenter / dé-commenter plusieurs lignes à la fois
1) Se placer tout d'abord sur la permière ou dernière ligne de la zone à commenter
2) Faire un CTRL+V (V comme Visual Block)
3) Se rendre sur la dernière ligne (ou la première selon votre point de départ)
4) Taper ensuite :s/^/# et pressez la touche "Entrer"

Pour réaliser l'opération inverse, c'est à dire dé-commenter plusieurs lignes, il suffit de répéter les points ci-dessus mais en remplaçant l'expression de substitution de l'étape 4 par :s/^#/

  • Voir les différence entre deux fichiers
vimdiff fichierA.txt fichierB.txt
NB: Avouez que cela est bien plus lisible que la commande "diff" de base.

  • Convertir un fichier Windows au format Unix
Ouvrir le fichier et saisir la commande suivante :set ff=unix puis :x pour enregistrer les modifications et quitter. C'est un équivalent de l'outil dos2unix (ex: dos2unix monfichier.txt)

  • Éditer plusieurs fichiers à la fois
1) Saisir en paramètre tous les fichiers a éditer. Exemple: vim fichierA.txt fichierB.txt fichierC.txt (ou vim * si vous être un grand fou ^^)
2) :wn pour enregistrer les modifications et passer au fichier suivant

  • Couper/coller plusieurs lignes
1) Exemple: on coupe 4 lignes après le curseur: 4d
2) Positionner le curseur à l'endroit souhaité puis coller les lignes en dessus du curseur: p (ou P pour les coller avant le curseur)

Aucun commentaire:

Enregistrer un commentaire