Vim : Petit tutoriel
Aujourd’hui j’ai décidé de consacrer un petit billet à ce magnifique éditeur de texte qui est vim. En le maîtrisant, vous pourrez aller beaucoup plus vite dans vos créations et ainsi gagner en efficacité.
… A vrai dire, il s’agit plutôt d’un aide mémoire plus qu’un tuto. 0:)
Si vous êtes intéressés, je vous déconseille de tout apprendre d’une traite mais de le faire au fur et à mesure de vos besoins. Vous verrez qu’avec le temps les commandes deviendront tellement naturelles qu’elle passeront café crème. :)
Level 0 – Installation et lancement
On commence doucement par l’installation de vim et l’ouverture d’un fichier « test ».
apt-get install vim
vim test
Level 1 – Prise en main
Contrairement à d’autres éditeurs tels que nano (ou bloc notes)… vous ne pouvez pas entrer directement du texte ! :‘(
Dès l’ouverture de vim, vous tombez en mode interactif. Et c’est à partir de ce mode que vous devez indiquez ce que vous désirez faire.
Voici quelques commandes utiles.
i→ insérer du texte (a→ insérer après la position courante,A→ ajouter en fin de ligne)o→ insérer une ligne (O→ insérer à la ligne précédente):w→ sauvegarder le fichier en cours:wq→ sauvegarder puis quitter (ouZZou:x):q!→ quitter sans sauvegarder:!ls→ lancer une commande externe (icils)
Pour revenir au mode interactif, tapez Echap
Level 2 – Opérations standard
r→ remplacer une lettrex→ supprimer une lettredd→ supprimer une lignecc→ supprimer une ligne puis inséreryy→ copier une lignep→ colleru→ annuler la dernière modificationCtrl+r→ refaire
Vous pouvez bien sûr supprimer des lettres en mode insertion ! Un avantage des commandes ci-dessus est que vous pouvez les répéter en plaçant un nombre avant . Ainsi 4dd permettra de supprimer 4 lignes.
Level 3 – Gagnez en aisance !
Déplacements de base
Il est utile de pouvoir vous déplacer au sein de votre document.
Lignes
10G→ aller à la ligne 10 (remplacer 10 par le nombre souhaité)gg→ retour à la première ligne
Caractères
0→ aller à la première colonne de la ligne^→ aller au premier caractère de la ligne$→ aller en fin de ligneg_→ aller au dernier caractère de la ligne
Mots
Un mot est un ensemble uniquement composé de lettres et du caractère _ Les MOTS sont quand à eux séparés par des caractères blancs (espace, tabulation)
w→ aller au début du mot suivante→ aller à la fin du mot courantW→ aller au début du MOT suivantE→ aller à la fin du MOT courant
Vous pouvez combiner la suppression et les déplacements. Par exemple dw permettra de supprimer à partir de la position courante jusqu’au mot suivant.
Nombres
Ctrl+a→ incrémenterCtrl+x→ décrémenter
Gestion des fichiers
:e file→ ouvrir « file »:list→ liste des fichiers ouverts:r file2→ fusionner avec « file2 »:bn→ fichier suivant (:bp→ fichier précédent,:b5→ aller au fichier 5):saveas filename→ sauvegarder sous le nom « filename »
Découpage d’écran
:sp→ découpage horizontal (ou Ctrl+ws ):vsp→ découpage vertical (ou Ctrl+wv )Ctrl+w <dir>→ où dir est l’une des directions (haut, bas, gauche, droite) permet de changer de splitCtrl+w Ctrl+w→ bascule d’un split à l’autre
Level 4 – Toujours plus fort
Tout copier vers le clavier
:%y"+ ou gg"+yG
Recherche
/mot→ rechercher « mot » (n→ prochaine occurrence,N→ occurrence précédente)%→ aller à l’accolade correspondante*→ aller à la prochaine occurrence du mot (#→ précédente occurrence)fa→ prochaine occurrence de « a » (ta→ amène avant le « a », se déplacer avec , et ;)FaetTapour les occurrences précédentes de « a »
Rechercher, remplacer
:s/ancien/nouveau/→ remplace la première occurrence de « ancien » par « nouveau »:s/ancien/nouveau/g→ remplace toutes les occurrences de « ancien » par « nouveau » sur la ligne en cours:1,5s/ancien/nouveau/g→ remplace toutes les occurrences de « ancien » par « nouveau » de la ligne 1 à la 5:%s/ancien/nouveau/g→ remplace toutes les occurrences de « ancien » par « nouveau »
Sélection
Tapez (happy(hello)) et placez vous sur le « e » de « hello »
vi(→ sélection interneva(→ sélection externev2i(→ sélection interne de deuxième niveau
Sélection visuelle
v→ sélection visuelle par caractèreV→ sélection visuelle par ligneCtrl+v→ sélection visuelle par bloc
Un exemple bien utile de combinaison :
gg Ctrl+v G $ A hey Echap → Ajouter « hey » à la fin de chaque ligne
A utiliser avec
J→ joindre toutes les lignes pour en faire une seule<(resp.>) → indenter à gauche (resp. à droite)=→ auto indenter
Auto completion
Ctrl+nCtrl+p
Macros
qa→ enregistre tout ce que vous faites dans le registre a.q→ arrête l’enregistrement@a→ rejoue la macro enregistrée dans le registre a@@→ rejoue la dernière macro exécutée.→ répète la dernière commande