linux Tutoriaux data-src-img=

Dans un environnement de production, Linux est généralement installé en mode console et s’administre en lignes de commandes. Il est donc nécessaire d’apprendre à éditer les fichiers en ligne de commande, et l’un des outils les plus populaires pour cela est VIM (VI iMproved, version améliorée de Vi).

Introduction

Sur la plupart des distributions Linux, vim est en général installé par défaut, mais vous pouvez l’installer avec cette commande :

sudo apt-get install vim

Vous pouvez désormais lancer cet éditeur en tapant la commande vim : votre fenêtre devient noire, vous êtes dans l’éditeur, en mode Interactif.

VIM fonctionne en 3 modes:

Mode interactif : c’est le mode par défaut. En lançant VIM, vous êtes donc en mode interactif. Dans ce mode, vous ne pouvez pas écrire de texte. Le mode interactif vous permet de vous déplacer dans le texte, de supprimer une ligne, copier-coller du texte, rejoindre une ligne précise, annuler ses actions, etc. Chaque action peut être déclenchée en appuyant sur une touche du clavier (par exemple, on appuie sur x pour effacer le caractère où se situe le curseur).

Mode insertion : c’est dans ce mode que vous pourrez taper du texte et ce dernier s’insère à l’endroit où se trouve le curseur. Pour entrer dans ce mode, il existe plusieurs possibilités. L’une des plus courantes est d’appuyer sur la touche i (insertion). Le retour au mode interactif se fait en appuyant sur la touche Esc (Echap)

Mode commande : ce mode permet de lancer des commandes telles que « quitter », « enregistrer », etc. Vous pouvez aussi l’utiliser pour activer des options de Vim (comme la coloration syntaxique, l’affichage du numéro des lignes…). Pour activer ce mode, vous devez être en mode interactif et appuyer sur la touche deux points « : ». Vous validerez la commande avec la touche Entrée et reviendrez alors au mode interactif.


Le mode interactif

Il s’agit du mode le plus délicat pour les débutants, car chaque touche du clavier correspond à une fonction, il est donc nécessaire de s’y familiariser.

Voici les plus utiles:

passer en mode insertion, pour taper du texte.

passer en mode insertion, pour insérer après la position du curseur

se déplacer en début et fin de ligne

se déplacer de mot en mot

effacer des lettres

effacer des mots, des lignes etc (il serait plus adapté de dire « couper », vous comprendrez par la suite)

supprimer une ligne: Appuyez deux fois sur d pour supprimer toute la ligne sur laquelle se trouve le curseur.
Vous pouvez faire précéder cette instruction d’un nombre de lignes à supprimer. Par exemple, si vous tapez 2dd, vous supprimerez deux lignes d’un coup. Rien ne s’affichera à l’écran tant que vous n’aurez pas tapé 2dd en entier: VIM garde en mémoire les informations de votre commande: d’abord le nombre de ligne (ici, 2), puis la commande que vous allez lancer (d pour delete, effacer) puis l’execution de la commande sur toute la ligne avec le second d.

supprimer un mot. Le mot sera effacé entre le curseur et le prochain espace. Si vous placez le curseur en milieu de mot et executez la commande dw, alors la dernière moitié du mot disparaitra.
Comme pour la suppression de 2 lignes consécutives avec 2dd, vous pourrez supprimer, par exemple, 4 mots consécutifs avec la commande 4dw (ou d4w pour delete 4 words)

vous supprimer du curseur jusqu’au début de la ligne.

vous supprimer du curseur jusqu’à la fin de la ligne.

copier une ligne en mémoire, au même titre que dd « coupe » une ligne (et non supprime en fait…).

copier un mot

pour copier du curseur jusqu’à la fin de la ligne etc. Les caractères seront ainsi chargés en mémoire de VIM, pour pouvoir…

Si vous avez coupé du texte avec dd ou copié du texte avec yy (ou un de leurs équivalents, dw, y$ etc.) vous pouvez ensuite le coller avec la touche p. Le texte sera collé sur la ligne située après le curseur. Vous pourrez également préciser le nombre de fois où le texte doit être collé en le précisant dans la commande, par exemple 7p collera 7 fois le texte coupé ou copié là où se situe le curseur.

remplacer une lettre: Placez le curseur sur la lettre à remplacer. Tapez « r » suivi de la lettre que vous voulez mettre à la place. Par exemple, rs remplace la lettre actuelle par un « s ».

annuler les modifications (l’équivalent de votre CTRL+Z ou CMD+Z). Vous pouvez préciser le nombre d’actions à annnuler: 7u annulera les 7 dernières actions.

sauter à la ligne n° X: Vous pouvez par exemple directement sauter à la ligne n° 7 en tapant 7G (attention, c’est un « G » majuscule, donc pensez à laisser la touche Maj appuyée).
Pour sauter à la dernière ligne, tapez simplement G.
Pour revenir à la première ligne, tapez gg.


Le mode commande

Pour passer en mode commande, vous devez être en mode interactif (Esc si vous êtes en mode insertion) puis appuyer sur la touche deux points « : ». Une sorte de prompt apparaitra en bas de l’écran, attendant que vous saisissiez la commande à executer.

Voici les plus utiles:

Permet d’enregistrer votre fichier. Vous pouvez préciser le nom du fichier en paramètre, par exemple :w MonFichier.conf

 Permet de quitter VIM. Si vous avez modifié votre fichier, VIM vous empêchera de sortir. Vous pouvez donc forcer la sortie en rajoutant un point d’exclamation :q!

Les 2 commandes w et q combinées permettront d’enregistrer et de quitter VIM, probablement la plus utilisée par les administrateurs Linux.

 Recherche et remplace du texte, en passant en paramètre l’ancien mot et le nouveau mot:

:s/ancien/nouveau : remplace la première occurrence de la ligne où se trouve le curseur
:s/ancien/nouveau/g : remplace toutes les occurrences de la ligne où se trouve le curseur
:#,#s/ancien/nouveau/g : remplace toutes les occurrences dans les lignes n° # à # du fichier
:%s/ancien/nouveau/g : remplace toutes les occurrences dans tout le fichier.

Vous pouvez insérer un fichier à la position du curseur. Vous devez indiquer le nom du fichier à insérer, par exemple :r FichierAInserer (vous pouvez utiliser l’autocomplétion avec la touche Tab)

Vous pouvez découper l’écran horizontalement, là où se situe le curseur. Sans paramètre, votre fichier sera ouvert une seconde fois. Vous pouvez préciser un nouveau fichier à ouvrir :sp AutreFichier (il n’y a pas de limite, vous pouvez séparer votre écran autant de fois que vous le voulez, où du moins que la taille de votre moniteur vous le permet)

Vous permet de découper l’écran verticalement et fonctionne comme :sp

Vous permet de lancer une commande externe. Par exemple :!ls vous affichera le contenu du dossier où vous vous situez sans avoir à quitter VIM


Les options

Voous pouvez configurer VIM en activant des options. Vous pouvez les activer directement depuis VIM mais celles-ci seront « oubliées » dès que vous quitterez VIM. Le plus efficace est de modifier le fichier de conf, quitter puis relancer VIM

vi /etc/vim/vimrc

Voici les options les plus utiles:
Il s’agit clairement de la première option à activer : la coloration syntaxique. En fonction du type de fichier que vous ouvrez, VIM colorera le texte.

Affiche les numéros de lignes

 Affiche les commandes que vous executez (rappelez-vous la commande 2dd par exemple)

 Affiche les numéros de lignes -> Ignore la casse lors des recherches de caractères