Vim : l'éditeur de texte du programmeur
Dans cette dernière partie, nous allons réunir toutes les connaissances que nous avons acquises sur les commandes utilisées sur Linux. Nous allons les combiner entre elles et créer ce que l'on appelle des scripts shell.
Le scripting shell est un mini-langage de programmation intégré à tous les systèmes Linux qui vous permet d'automatiser des tâches répétitives. Il s'agit d'un élément très puissant du système que vous devez absolument connaître.
Toutefois, pour programmer, il va vous falloir utiliser un éditeur de texte digne de ce nom. Certes, vous connaissez déjà Nano, mais comme je vous l'ai déjà dit il est très basique. On l'a utilisé pour simplifier les choses au début, mais maintenant il est temps de passer à quelque chose de plus complet et de plus puissant : Vim (prononcez "Vi aille ème").
Sous Linux, il y a 2 éditeurs de texte puissants en console à connaître :
- Vim : il s'agit d'une version améliorée d'un des plus anciens éditeurs en console, qui s'appellait "Vi" (prononcez les lettres en anglais "vi aille").
Vim (VI iMproved, version améliorée de Vi) est largement répandu et généralement disponible par défaut sur la plupart des OS basés sur Unix, comme Linux.
- Emacs : développé par Richard Stallman, le fondateur du projet GNU dont je vous ai parlé au début du cours, cet éditeur concurrent a lui aussi bien des atouts. On le retrouve plus spécifiquement sous Linux et il est rarement installé par défaut (un petit apt-get suffit toutefois
). Il peut être complété par toute une série de plugins qui lui permettent de faire navigateur web, lecteur audio... Bref, c'est un peu un outil à tout faire.
Sachez qu'il est courant que les gens adoptent l'un ou l'autre de ces éditeurs et le défendent bec et ongles. Choisir un éditeur de texte sous Linux, c'est en fait un peu comme choisir une religion. Oui je sais, ils sont fous ces Linuxiens !
Oulah, c'est important alors ! Lequel choisir ?
En fait, rien ne vous empêche d'apprendre à utiliser les deux. Toutefois, ces logiciels sont tellement complets qu'il vous faudra du temps pour vous habituer à chacun d'eux.
Dans la pratique, on prend l'habitude d'en choisir un et de s'y tenir : il est donc rare de voir quelqu'un naviguer entre les deux.
Vim ou Emacs ? Emacs ou Vim ?
Tout cela ne répond pas à votre question, je sais. Mais ne comptez pas sur moi pour vous dire "
Utilisez celui-là, il est mieux" : des milliers de trolleurs le font mieux que moi sur tous les forums du monde.
Et je pourrais m'attirer les foudres divines des adorateurs de l'un ou l'autre éditeur si je m'y risquais.
D'ailleurs, vous devriez vous mettre en tête dès maintenant qu'il n'y en a pas un qui soit nul et l'autre génial. Ce sont juste 2 conceptions un peu différentes de ce que doit être un éditeur de texte.
Le meilleur conseil que je puisse vous donner est le suivant :
choisissez d'utiliser le même éditeur que votre ami pro de Linux ou votre collègue de bureau. L'idéal est d'avoir quelqu'un à proximité qui peut régulièrement vous conseiller. Croyez-moi, s'il y a bien un conseil qui soit important dans ce chapitre, c'est celui-là.
Et toi, ton éditeur c'est quoi ?
Je craignais cette question mais il fallait bien qu'elle tombe un jour...

Pour ma part, je n'ai jamais eu l'occasion de prendre le temps d'apprendre à utiliser Emacs. Le professeur qui m'a initié à Linux était un habitué de Vim (mais il n'a jamais dit de mal d'Emacs, je le jure, je le jure !).
Je suis donc à mon tour un habitué de Vim, et c'est lui que je vous présenterai dans ce cours. Je ne suis toutefois pas sectaire, si quelqu'un rédige un bon tutoriel sur Emacs sur le Site du Zéro, je serai ravi de vous inviter à le lire lui aussi.
Installer et lancer Vim
Sur la plupart des distributions Linux, Vim est en général installé par défaut. Mais j'ai bien dit
en général. Rien n'assure que Vim soit installé chez vous par défaut. Après tout, c'est la distribution qui choisit les programmes qu'elle vous installe au départ.
D'ailleurs, sous Ubuntu, il faut savoir que ce n'est pas Vim qui est installé mais Vim-tiny, une version allégée de Vim. Personnellement elle ne me convient pas et est limitée en possibilités. Je vous invite donc à installer le vrai Vim complet en tapant :
Code : Console
Vous pourrez alors lancer Vim en tapant la commande
vim (la commande
vi fonctionne aussi mais il est recommandé de taper plutôt
vim).
vimtutor : le programme qui vous apprend à utiliser Vim !
Il existe un véritable petit tutoriel intégré à Vim pour les nouveaux !

Ce programme peut être lancé en tapant :
Code : Console
Si vous ne l'avez pas, installez le paquet vim-common. Mais normalement il devrait déjà être installé.
En fait, vimtutor lance simplement Vim en ouvrant un fichier d'aide prédéfini. Cette introduction à Vim est d'ailleurs en français et est accessible à tout le monde, aussi je vous invite à l'essayer et à la lire en complément de mon cours à moi.
Petit aperçu :
Code : Console | ===============================================================================
= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.5.fr.2 =
===============================================================================
Vim est un éditeur très puissant qui a trop de commandes pour pouvoir
toutes les expliquer dans un cours comme celui-ci, qui est conçu pour en
décrire suffisamment afin de vous permettre d'utiliser simplement Vim.
Le temps requis pour suivre ce cours est d'environ 25 à 30 minutes, selon
le temps que vous passerez à expérimenter. Les commandes utilisées dans
les leçons modifieront le texte. Faites une copie de ce fichier afin de
vous entraîner dessus (si vous avez lancé "vimtutor" ceci est déjà une
copie).
Il est important de garder en tête que ce cours est conçu pour apprendre
par la pratique. Cela signifie que vous devez exécuter les commandes
pour les apprendre correctement. Si vous vous contentez de lire le
texte, vous oublierez les commandes !
Maintenant, vérifiez que votre clavier n'est PAS verouillé en majuscules,
et appuyez la touche j le nombre de fois suffisant pour que la leçon
1.1 remplisse complètement l'écran.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Il faut compter en général une bonne demi-heure pour faire le Vimtutor. Cela vous fait une bonne petite introduction à Vim, mais gardez bien entendu à l'esprit que les possibilités sont bien plus larges et que vous n'aurez pas tout vu à la fin de sa lecture.
Commencez par lancer Vim. Comme je vous l'ai dit plus tôt, il suffit de taper la commande :
Code : Console
Vim s'ouvre alors :
On a connu plus sexy, mais bon, c'est un éditeur de texte après tout
Vim est un programme un peu surprenant qui ne s'utilise pas comme la plupart des éditeurs de texte que vous connaissez. Il m'a fallu un peu de temps pour m'y habituer et il en vous en faudra aussi, mais le jeu en vaut la chandelle.
Si on ne vous explique rien, vous risquez d'être un peu perdus. Pire, vous aurez même du mal à sortir de Vim (ne rigolez pas, ça m'est arrivé la première fois !).
Voilà ce qu'il faut savoir... et qu'on aurait dû m'expliquer dès le départ d'ailleurs. Vim possède 3 modes de travail différents :
- Mode interactif : c'est le mode par défaut par lequel vous commencez. En lançant Vim, vous êtes donc en mode interactif.
Dans ce mode, vous ne pouvez pas écrire de texte (oui je sais, c'est le comble pour un éditeur de texte !). N'essayez donc pas d'appuyer sur des lettres au hasard, car vous risquez de faire n'importe quoi !
Le mode interactif est un mode puissant qui permet de se déplacer dans le texte, supprimer une ligne, copier/coller du texte, aller à 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 "u" pour annuler la dernière action).
- Mode insertion : ça c'est le mode que vous connaissez ! Vous tapez du texte, et il s'insère à l'endroit où le curseur se trouve. Magique !
Pour rentrer dans ce mode, il y a plusieurs possibilités. Une des plus courantes est d'appuyer sur la touche "i" (insertion). Pour en sortir, il faut appuyer sur la touche "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...), et vous pouvez même envoyer des commandes au shell (à la console) telles que ls, locate, cp, etc.
Pour activer ce mode, vous devez être en mode interactif et appuyer sur la touche deux-points ":". Vous validez la commande avec la touche Entrée et revenez alors au mode interactif.
Je résume. Vim possède 3 modes : interactif, insertion et commande. Vous démarrez en mode interactif. Le seul mode que vous connaissez et qui ne sera pas nouveau pour vous est le mode insertion. Les 2 autres modes (interactif et commande) vont vous surprendre un peu.
Pourquoi avoir fait autant de modes qui ont l'air si compliqués dans un éditeur de texte ? Pourquoi n'y a-t-il pas de menus ? Et pourquoi ne pas utiliser plutôt un éditeur de texte graphique, c'est quand même plus simple avec une souris !
Trop de questions à la fois.
Je vais essayer de vous répondre simplement, et il va falloir me croire sur parole au début : si des gens se sont amusés à créer tous ces "modes" et tous ces raccourcis clavier, ce n'est pas juste pour le plaisir torturé de faire la même chose qu'avec une souris et des menus mais avec un clavier.
En fait, vous allez vite découvrir que
vous pouvez faire des choses que vous ne soupçonniez pas avec un éditeur de texte : supprimer le mot actuel, couper le texte du curseur jusqu'à la fin de la ligne, coller 4 fois le texte qui se trouve dans le presse-papiers, sauter à la ligne n°453, sauter à la dernière ligne, etc.
Toutes ces choses-là se font au clavier et, pour la plupart d'entre elles, vous devrez retenir par coeur quelle touche correspond à quelle action. C'est un peu contraignant au départ, mais imaginez que c'est comme apprendre à taper à 10 doigts au clavier comme un dactylo : au début, c'est dur, vous avez l'impression de ramer, d'aller moins vite qu'avant, mais petit à petit vous gagnez en productivité, vous allez de plus en plus vite, et finalement vous vous demandez comment vous avez pu faire autant de temps sans connaître tout ça.
Nous allons découvrir Vim à travers plusieurs étapes de plus en plus complexes. Nous commençons en douceur.
L'ouverture de Vim
Pour le moment, si vous lancez Vim en tapant juste la commande sans paramètre :
Code : Console
... il s'ouvre sur un nouveau fichier vide comme ceci que vous avez déjà vu :
(le texte d'introduction que vous voyez disparaîtra dès que vous écrirez les premiers caractères)
Vous pouvez aussi ouvrir un fichier en rajoutant son nom en paramètre :
Code : Console
Si le fichier n'existe pas, il sera créé.
i : insérer du texte
Nous allons partir sur un fichier vide. Nous souhaitons commencer à rentrer du texte (quoi de plus normal pour un éditeur de texte après tout ?).
Appuyez sur "
i" (i minuscule). Vous basculez alors en mode insertion. Vous pouvez maintenant taper du texte :
Notez le message
-- INSERT -- en bas de l'écran qui vous confirme que vous êtes en mode insertion.
Ecrivez quelques lignes comme moi, puis appuyez sur la touche
Echap pour revenir au mode interactif (le mode normal dans lequel vous êtiez au départ). Le message
-- INSERT -- disparaît, et vous revoilà en mode interactif.
Le déplacement
h, j, k, l : se déplacer dans tous les sens
En mode interactif, vous pouvez déplacer le curseur au sein du texte. Pour cela, on utilise les touches :
- h : aller à gauche.
- j : aller en bas.
- k : aller en haut.
- l : aller à droite.
En image :
QUOIII ? C'est le comble ! On ne peut même pas utiliser les flèches du clavier pour se déplacer ?!

Si si, vous pouvez aussi les utiliser. Essayez, elles marchent. D'ailleurs, en mode insertion, c'est la seule chose qui marche.
0 et $ : se déplacer en début et fin de ligne
Pour placer le curseur au tout début de la ligne, appuyez sur
0 en mode interactif.
La touche "Origine" que vous avez peut-être l'habitude d'utiliser fonctionne aussi. Cependant, retenez plutôt qu'il faut utiliser 0, ça vous sera utile par la suite.
De même, pour aller en fin de ligne, appuyez sur la touche
$.
Là encore, la touche "Fin" fonctionne aussi, mais essayez de prendre l'habitude d'utiliser $, ça sera payant vous allez voir.
w : se déplacer de mot en mot
Avec
w, vous pouvez vous déplacer de mot en mot dans le fichier. C'est un autre moyen, parfois plus efficace et plus rapide, pour se déplacer au sein d'une ligne du fichier.
:w : enregistrer le fichier
Pour enregistrer votre fichier, vous devez être au préalable être en mode interactif (appuyez sur
Echap pour vous en assurer).
Appuyez ensuite sur la touche deux-points (
:) pour passer en mode commande, puis tapez w (
write) suivi du nom du fichier. La commande doit s'afficher en bas.
Dans mon cas, j'ai donc tapé
:w monfichier (notez que j'aurais aussi bien pu donner une extension .txt à mon fichier). Appuyez ensuite sur la touche
Entrée pour valider. Le bas de l'écran doit indiquer que le fichier a été écrit (
written) :
Code : Console | "monfichier" [New] 4L, 185C written 4,101-98 All |
:q : quitter
Maintenant que vous avez enregistré, vous pouvez quitter Vim en tapant
:q
J'ai essayé de quitter en ayant fait des modifications après avoir enregistré, et un message d'erreur s'affiche en rouge : "No write since last change".
Vim vous interdit de quitter si vous n'avez pas enregistré vos changements. Vous pouvez toutefois forcer la fermeture de Vim en ajoutant un point d'exclamation à la fin :
:q!. Cette fois, il n'y aura pas d'erreur.
:wq : enregistrer puis quitter
C'est la combinaison des 2 commandes que nous venons de voir. Vous enregistrez et quittez immédiatement Vim lorsque vous tapez
:wq.
Nous avons vu le strict minimum qu'il faut connaître pour se débrouiller dans Vim. Si ce n'est pas difficile, il faut bien avouer que c'est perturbant. Prenez donc le temps de vous y habituer.
Nous allons aller un peu plus loin ici, et c'est maintenant que vous allez commencer à trouver Vim pratique (et parfois même étonnant). Nous allons faire la majorité de ces actions en mode interactif : appuyez sur la touche
Echap si vous n'y êtes pas déjà.
x : effacer des lettres
Placez le curseur sur une lettre en mode interactif, puis appuyez sur
x pour l'effacer.
Cela revient à appuyer sur "Suppr" en mode insertion.
On peut aller plus loin et effacer plusieurs lettres d'un coup. Pour cela, utilisez la formule suivante :
(nombre)x
Par exemple, si vous tapez
4x (4 puis x), vous supprimerez les 4 prochaines lettres en partant du curseur.
Vous devez taper 4 puis x. Ne vous étonnez pas si rien ne s'affiche à l'écran lorsque vous avez tapé 4, c'est normal. Ecrivez la commande jusqu'au bout, cela fonctionnera.
d : effacer des mots, lignes...
De la même manière, on utilise aussi la touche
d pour supprimer des mots et des lignes.
Commençons par supprimer une ou plusieurs lignes.
dd : supprimer une ligne
Appuyez 2 fois sur d (
dd) pour supprimer toute la ligne sur laquelle se trouve le curseur.
Mieux : vous pouvez faire précéder cette instruction d'un nombre de lignes à supprimer. Par exemple, si vous tapez 2dd, vous supprimerez 2 lignes d'un coup.
Encore une fois, ne vous étonnez pas si, juste après avoir tapé "2", rien ne s'affiche à l'écran. L'information est enregistrée par Vim en mémoire mais l'action ne sera vraiment exécutée que lorsque vous aurez tapé entièrement "2dd".
Note importante : la ligne ainsi supprimée est en fait "coupée" et placée en mémoire. Elle peut être collée, comme on le verra plus loin, avec la touche
p.
dw : supprimer un mot
Placez le curseur sur la première lettre d'un mot. Tapez ensuite
dw (
delete word) : cela supprime le mot en entier !
Si le curseur est positionné au milieu du mot, vous ne supprimerez que les prochains caractères du mot (jusqu'à l'espace qui suit).
Vous pouvez aussi supprimer les 3 prochains mots en tapant
3dw. Notez que le 3 peut être placé entre le d et le w, cela revient au même :
d3w (ce qui peut se lire "
delete 3 words").
d0 et d$ : supprimer le début ou la fin de la ligne
Vous vous souvenez de 0 et $ ? Je vous avais demandé de les utiliser à la place des touches "Origine" et "Fin" car on allait en avoir besoin à nouveau par la suite. Le moment est venu de s'en resservir.
- En tapant d0, vous supprimez du curseur jusqu'au début de la ligne.
- En tapant d$, vous supprimez du curseur jusqu'à la fin de la ligne.
Pratique !
yy : copier une ligne en mémoire
yy copie la ligne actuelle en mémoire.
Cela fonctionne comme
dd qui la "coupe". Vous pouvez aussi utiliser
yw (pour copier un mot),
y$ pour copier du curseur jusqu'à la fin de la ligne, etc.
p : coller
Si vous avez "coupé" du texte avec
dd ou copié du texte avec
yy (ou un de leurs équivalents) vous pouvez ensuite le coller avec la touche
p.
Attention, retenez bien ceci : si vous avez copié une ligne en mémoire et que vous appuyez sur "p", elle sera collée sur la ligne située après le curseur.
On est parfois surpris de voir où se colle le texte, donc prenez le temps de vous y habituer.
Vous pouvez aussi coller plusieurs fois un texte en faisant précéder le "p" d'un nombre. Par exemple,
8p collera 8 fois le texte en mémoire.
Si je place mon curseur sur une ligne, que je tape
yy puis
8p, je la collerai donc 8 fois !
r : remplacer une lettre
Si vous avez fait une faute sur seulement une lettre, vous pouvez passer en mode remplacement.
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".
Si vous utilisez un R majuscule, cette fois vous basculerez dans le mode remplacement : vous pourrez remplacer plusieurs lettres à la fois. Vous pouvez par exemple écrire
Rbonjour pour remplacer les caractères par "bonjour".
Pour revenir au mode interactif normal, appuyez sur
Echap.
u : annuler les modifications
Pour annuler vos dernière modifications, appuyez sur
u (
undo). Si vous souhaitez annuler vos 4 dernières modifications, appuyez sur
4u (vous commencez à connaître la formule, c'est toujours la même

).
Pour répéter un changement (= annuler une annulation), appuyez sur
Ctrl + R.
G : sauter à la ligne n°X
Toutes les lignes d'un fichier ont un numéro. La numérotation commence à 1.
Regardez bien en bas à droite de Vim, vous devriez voir quelque chose comme 4,3. 4 correspond au numéro de la ligne sur laquelle se trouve le curseur, et 3 correspond au numéro de la colonne (3ème lettre de la ligne).
Vous pouvez directement sauter à la ligne n°7 par exemple 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.
Nous avons vu l'essentiel des commandes les plus courantes. Nous allons maintenant découvrir une série de commandes un peu plus complexes (quoique, ça dépend desquelles

) parmi lesquelles la fusion de fichiers, la recherche, le remplacement, le découpage de l'écran (split), etc.
Toutes ces commandes se lancent depuis le mode interactif.
/recherche : rechercher un mot
Si vous tapez /, vous passez en mode recherche. Le curseur se place en bas de l'écran (vous indiquant que vous êtes passé en mode commande).
Ecrivez ensuite le mot que vous recherchez, par exemple "remplir" :
/remplir. Tapez ensuite sur
Entrée pour valider.
Le curseur se place alors sur le prochaine occurrence de "remplir" dans le fichier.
Pour passer à la prochaine occurrence du mot plus bas dans le fichier (s'il apparaît plusieurs fois), appuyez sur
n. Pour rechercher en arrière, appuyez sur
N (Maj + n).
Si vous souhaitez dès le départ lancer une recherche qui remonte vers le début du fichier, utilisez ? au lieu de / pour lancer la recherche. Le fonctionnement reste le même.
:s : rechercher et remplacer du texte
Pour rechercher et remplacer du texte, c'est un peu plus compliqué. Il y a en effet plusieurs façons d'effectuer le remplacement.
La façon la plus simple de faire une recherche est de taper
:s/ancien/nouveau pour rechercher "ancien" et le remplacer par "nouveau". Problème... cela ne remplacera que la première occurrence d'ancien par nouveau.
Voici toutes les variantes à connaître :
- :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. C'est peut-être ce que vous utiliserez le plus fréquemment.
:r : fusion de fichiers
Avec :r, vous pouvez insérer un fichier à la position du curseur. Vous devez indiquer le nom du fichier à insérer, par exemple :
:r autrefichier.
L'auto-complétion avec Tab fonctionne là-aussi, donc pas besoin d'écrire le nom du fichier en entier !
Le découpage d'écran (split)
Vim possède une fonctionnalité pratique : il permet de découper l'écran et d'ouvrir plusieurs fichiers
:sp : découper l'écran horizontalement
Le plus simple pour commencer est de découper l'écran horizontalement. Tapez la commande
:sp pour découper l'écran en deux :
Le fichier est ouvert une seconde fois (ce qui vous permet de voir 2 endroits différents du fichier à la fois) mais il est bien entendu possible d'ouvrir 2 fichiers différents. Pour faire cela, rajoutez le nom du fichier à ouvrir à la suite de la commande :
:sp autrefichier. Bonne nouvelle : l'auto-complétion avec la touche Tab fonctionne aussi dans Vim !
Vous pouvez retaper
:sp pour découper cette fois l'écran en 3 et ainsi de suite, mais gare à la lisibilité ensuite.
:vsp : découper l'écran verticalement
Si le découpage horizontal par défaut ne vous convient pas, sachez que vous pouvez aussi effectuer un découpage vertical avec
:vsp.
Il est bien entendu possible de répéter plusieurs fois la commande, et même de combiner des découpages verticaux et horizontaux.
Les principaux raccourcis en écran splitté
Chaque morceau de l'écran (correspondant à un fichier) est appelé
viewport.
Voici une liste de raccourcis pratiques que vous pouvez utiliser lorsque l'écran est splitté (découpé) :
- Ctrl + w puis Ctrl + w : navigue de viewport en viewport. Répétez l'opération plusieurs fois pour accéder au viewport désiré.
- Ctrl + w puis j : déplace le curseur pour aller au viewport juste en-dessous. La même chose fonctionne avec les touches h, k et l que l'on utilise traditionnellement pour se déplacer dans Vim.
- Ctrl + w puis + : agrandit le viewport actuel.
- Ctrl + w puis - : réduit le viewport actuel.
- Ctrl + w puis = : égalise à nouveau la taille des viewports.
- Ctrl + w puis r : échange la position des viewports. Fonctionne aussi avec "R" majuscule pour échanger en sens inverse.
- Ctrl + w puis q : ferme le viewport actuel.
Voilà qui devrait vous permettre de faire ce que vous voulez en écran splitté.
:! : lancer une commande externe
Il est possible d'écrire des commandes traditionnelles du shell directement dans Vim. Pour cela, commencez par taper :! suivi du nom de la commande.
Essayez par exemple de taper
:!ls. Vous afficherez alors le contenu du dossier dans lequel vous vous trouvez !
Cette fonctionnalité est bien pratique pour effectuer quelques actions sans avoir à quitter Vim.
Vim peut être personnalisé de 2 façons différentes :
Nous n'allons pas passer en revue les plugins, mais il y a un certain nombre d'options intéressantes qu'il vaut le coup d'activer.
Le fonctionnement des options
Les options peuvent être activées après le lancement de Vim en lançant des commandes. Cependant, ces options seront "oubliées" dès que vous quitterez Vim.
Si vous voulez que les options soient activées à chaque démarrage de Vim, il faut créer un fichier de configuration .vimrc dans votre répertoire personnel.
Activer des options en mode commande
La première méthode consiste à activer l'option en mode commande. Une fois Vim ouvert, pour activer l'option nommée "option", tapez :
:set option
Pour la désactiver, tapez :
:set nooption
Il faut donc rajouter le préfixe "no" devant le nom de l'option pour la désactiver.
Certaines options doivent être précisées avec une valeur, comme ceci :
:set option=valeur
Pour connaître l'état d'une option :
:set option?
Activer des options dans un fichier de configuration
C'est à mon avis la meilleure façon de procéder. Commencez par copier un fichier de configuration déjà commenté qui vous servira d'exemple. Il y en a un dans /etc/vim qui s'appelle vimrc.
Copiez-le dans votre répertoire personnel en le faisant précéder d'un point (pour que ce soit un fichier caché) :
Code : Console | $ cp /etc/vim/vimrc ~/.vimrc |
Ouvrez maintenant ce fichier... avec Vim bien sûr.
Code : Console
Le début du fichier ressemble à ceci :
Code : Console | " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim
" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well |
Les lignes commençant par " sont des commentaires. Je vous recommande de les lire, ils donnent des informations utiles.
Passons maintenant à l'activation de quelques commandes bien utiles. Je vous recommande de travailler avec le fichier de configuration .vimrc comme moi, et d'activer les options qui vous plaisent en décommentant les lignes concernées.
Pour cela, la meilleure façon de procéder est de se mettre en mode interactif, de se déplacer avec hjkl, et d'appuyer sur x lorsque le curseur est sur un guillemet pour le supprimer et activer ainsi l'option.
syntax : activer la coloration syntaxique
C'est clairement la première option à activer : la coloration syntaxique. En fonction du type de fichier que vous ouvrez, Vim colorera le texte.
Vim supporte un très très grand nombre de langages de programmation : C, C++, Python, Java, Ruby, Bash, Perl, etc.
Activez donc :
Code : Console
Notez qu'il faut enregistrer, quitter et relancer Vim pour que le changement soit pris en compte... sauf bien sûr si vous activez l'option à la volée en tapant dans Vim :set syntax=ON
Aperçu du résultat :
background : coloration sur un fond sombre
Par défaut, la coloration de Vim est plus adaptée aux fonds clairs. Les commentaires, par exemple, sont écrits en bleu foncé sur noir... pas très lisible.
Si votre console est sur un fond noir comme chez moi, je vous recommande d'activer la prochaine option background et de la mettre à "dark".
Code : Console
Les couleurs seront largement plus adaptées :
number : afficher les numéros de ligne
Il est possible d'afficher le numéro de chaque ligne à gauche :
Code : Console
C'est assez pratique, notamment quand on programme.
showcmd : afficher la commande en cours
Lorsque vous écrivez une commande comme 2dd pour supprimer 2 lignes, vous écrivez à l'aveugle. Vous ne voyez pas ce que vous avez écrit.
Si cela n'était pas possible dans Vi, on peut le faire dans Vim. Encore faut-il activer l'option :
Code : Console
ignorecase : ignorer la casse lors de la recherche
Si vous souhaitez que, lors d'une recherche, Vim ne fasse pas la différence entre les majuscules et les minuscules, activez cette option :
Code : Console
mouse : activer le support de la souris
Eh oui ! Même en mode console, il est possible d'utiliser la souris.
Commencez par activer le support de la souris :
Code : Console
Désormais, vous pourrez cliquer avec la souris sur une lettre pour y déplacer le curseur directement. Vous pourrez utiliser la molette de la souris pour vous déplacer dans le fichier.
Le surnom de Vim est "
Programmer's text editor" (l'éditeur de texte du programmeur). On se rend compte à l'usage qu'il est en effet bien adapté à la programmation : coloration syntaxique poussée de très nombreux langages, affichage du numéro de ligne, mise en surbrillance de la parenthèse ou de l'accolade correspondante, etc. Il est même possible de compiler et lancer ses programmes directement depuis Vim !
Pourtant, il n'est pas facile à prendre en main. Ce tutoriel vous aura permis d'avoir une bonne petite introduction à Vim, afin que vous ne soyez pas perdus, mais retenez bien ceci :
nous sommes très loin d'avoir vu toutes les possibilités du logiciel ! Sans plugins, on peut déjà faire des tonnes de choses, le tout étant de se renseigner et de lire la documentation.
N'hésitez pas à aller plus loin que ce chapitre. Même si sa lecture sera suffisante pour suivre la fin du cours, je vous conseille vraiment de parcourir un peu la doc et de demander des conseils. On peut faire des choses étonnantes.
Bien, maintenant que vous savez manier un éditeur de texte digne de ce nom, il est temps de passer aux choses sérieuses : la programmation ! Direction le prochain chapitre, on va faire des scripts bash !

Informations sur le tutoriel