Vous êtes sur la page 1sur 20

tches

340/402

Vim : l'diteur de texte du programmeur


Dans cette dernire partie, nous allons runir toutes les connais s ances que nous avons acquis es s ur les commandes utilis es s ur Linux. Nous allons les combiner entre elles et crer ce que l'on appelle des s cripts s hell. Le s cripting s hell es t un mini-langage de programmation intgr tous les s ys tmes Linux qui vous permet d'automatis er des tches rptitives . Il s 'agit d'un lment trs puis s ant du s ys tme que vous devez abs olument connatre. Toutefois , pour programmer, il va vous falloir utilis er un diteur de texte digne de ce nom. Certes , vous connais s ez dj Nano, mais comme je vous l'ai dj dit il es t trs bas ique. On l'a utilis pour s implifier les chos es au dbut, mais maintenant il es t temps de pas s er quelque chos e de plus complet et de plus puis s ant : Vim (prononcez "Vi aille me").

Installer Vim
Sous Linux, il y a 2 diteurs de texte puis s ants en cons ole connatre : Vim : il s 'agit d'une vers ion amliore d'un des plus anciens diteurs en cons ole, qui s 'appellait "Vi" (prononcez les lettres en anglais "vi aille"). Vim (VI iMproved, vers ion amliore de Vi) es t largement rpandu et gnralement dis ponible par dfaut s ur la plupart des OS bas s s ur Unix, comme Linux. Emacs : dvelopp par Richard Stallman, le fondateur du projet GNU dont je vous ai parl au dbut du cours , cet diteur concurrent a lui aus s i bien des atouts . On le retrouve plus s pcifiquement s ous Linux et il es t rarement ins tall par dfaut (un petit apt-get s uffit toutefois ). Il peut tre complt par toute une s rie de plugins qui lui permettent de faire navigateur web, lecteur audio... Bref, c'es t un peu un outil tout faire.

Sachez qu'il es t courant que les gens adoptent l'un ou l'autre de ces diteurs et le dfendent bec et ongles . Chois ir un diteur de texte s ous Linux, c'es t en fait un peu comme chois ir une religion. Oui je s ais , ils s ont fous ces Linuxiens ! Oulah, c'es t important alors ! Lequel chois ir ?

En fait, rien ne vous empche d'apprendre utilis er les deux. Toutefois , ces logiciels s ont tellement complets qu'il vous faudra du temps pour vous habituer chacun d'eux. Dans la pratique, on prend l'habitude d'en chois ir un et de s 'y tenir : il es t donc rare de voir quelqu'un naviguer entre les deux.

Vim ou Emacs ? Emacs ou Vim ?


Tout cela ne rpond pas votre ques tion, je s ais . Mais ne comptez pas s ur moi pour vous dire "Utilisez celui-l, il est mieux" : des milliers de trolleurs le font mieux que moi s ur 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 tte ds maintenant qu'il n'y en a pas un qui s oit nul et l'autre gnial. Ce s ont jus te 2 conceptions un peu diffrentes de ce que doit tre un diteur de texte. Le meilleur cons eil que je puis s e vous donner es t le s uivant : chois is s ez d'utilis er le mme diteur que votre ami pro de Linux ou votre collgue de bureau. L'idal es t d'avoir quelqu'un proximit qui peut rgulirement vous cons eiller. Croyez-moi, s 'il y a bien un cons eil qui s oit important dans ce chapitre, c'es t celui-l.

tches

341/402

Et toi, ton diteur c'es t quoi ?

Je craignais cette ques tion mais il fallait bien qu'elle tombe un jour... Pour ma part, je n'ai jamais eu l'occas ion de prendre le temps d'apprendre utilis er Emacs . Le profes s eur 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 s uis donc mon tour un habitu de Vim, et c'es t lui que je vous prs enterai dans ce cours . Je ne s uis toutefois pas s ectaire, s i quelqu'un rdige un bon tutoriel s ur Emacs s ur le Site du Zro, je s erai ravi de vous inviter le lire lui aus s i.

Installer et lancer Vim


Sur la plupart des dis tributions Linux, Vim es t en gnral ins tall par dfaut. Mais j'ai bien dit en gnral. Rien n'as s ure que Vim s oit ins tall chez vous par dfaut. Aprs tout, c'es t la dis tribution qui chois it les programmes qu'elle vous ins talle au dpart. D'ailleurs , s ous Ubuntu, il faut s avoir que ce n'es t pas Vim qui es t ins tall mais Vim-tiny, une vers ion allge de Vim. Pers onnellement elle ne me convient pas et es t limite en pos s ibilits . Je vous invite donc ins taller le vrai Vim complet en tapant : Code : Cons ole sudo apt-get install vim

V ous pourrez alors lancer Vim en tapant la commande vim (la commande vi fonctionne aus s i mais il es t recommand de taper plutt vim ).

vimtutor : le programme qui vous apprend utiliser Vim !


Il existe un vritable petit tutoriel intgr Vim pour les nouveaux ! Ce programme peut tre lanc en tapant : Code : Cons ole vimtutor

Si vous ne l'avez pas , ins tallez le paquet vim-common. Mais normalement il devrait dj tre ins tall. En fait, vimtutor lance s implement Vim en ouvrant un fichier d'aide prdfini. Cette introduction Vim es t d'ailleurs en franais et es t acces s ible tout le monde, aus s i je vous invite l'es s ayer et la lire en complment de mon cours moi. Petit aperu : Code : Cons ole =============================================================================== = 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 trs puissant qui a trop de commandes pour pouvoir toutes les expliquer dans un cours comme celui-ci, qui est conu pour en

Partie 5 : Programmez des scripts Bash pour automatiser vos tches


dcrire suffisamment afin de vous permettre d'utiliser simplement Vim.

342/402

Le temps requis pour suivre ce cours est d'environ 25 30 minutes, selon le temps que vous passerez exprimenter. Les commandes utilises dans les leons modifieront le texte. Faites une copie de ce fichier afin de vous entraner dessus (si vous avez lanc "vimtutor" ceci est dj une copie). Il est important de garder en tte que ce cours est conu pour apprendre par la pratique. Cela signifie que vous devez excuter les commandes pour les apprendre correctement. Si vous vous contentez de lire le texte, vous oublierez les commandes ! Maintenant, vrifiez que votre clavier n'est PAS verouill en majuscules, et appuyez la touche j le nombre de fois suffisant pour que la leon 1.1 remplisse compltement l'cran. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~

Il faut compter en gnral une bonne demi-heure pour faire le Vimtutor. Cela vous fait une bonne petite introduction Vim, mais gardez bien entendu l'es prit que les pos s ibilits s ont bien plus larges et que vous n'aurez pas tout vu la fin de s a lecture.

Les modes d'dition de Vim


Commencez par lancer Vim. Comme je vous l'ai dit plus tt, il s uffit de taper la commande : Code : Cons ole vim

Vim s 'ouvre alors :

On a connu plus sexy, mais bon, c'est un diteur de texte aprs tout

t un programme un peu urprenant qui ne

e pas comme la plupart des diteurs de texte que vous

ez. Il m'a

tches
fallu un peu de temps pour m'y habituer et il vous en faudra aus s i, mais le jeu en vaut la chandelle.

343/402

Si on ne vous explique rien, vous ris quez d'tre un peu perdus . Pire, vous aurez mme du mal s ortir de Vim (ne rigolez pas , a m'es t arriv la premire fois !). V ce qu'il faut s avoir... et qu'on aurait d m'expliquer ds le dpart d'ailleurs . Vim pos s de 3 modes de travail diffrents : oil Mode interactif : c'es t le mode par dfaut par lequel vous commencez. En lanant Vim, vous tes donc en mode interactif. Dans ce mode, vous ne pouvez pas crire de texte (oui je s ais , c'es t le comble pour un diteur de texte !). N'es s ayez donc pas d'appuyer s ur des lettres au has ard, car vous ris quez de faire n'importe quoi ! Le mode interactif es t un mode puis s ant qui permet de s e dplacer dans le texte, s upprimer une ligne, copier/coller du texte, aller une ligne prcis e, annuler s es actions , etc. Chaque action peut tre dclenche en appuyant s ur une touche du clavier (par exemple, on appuie s ur "u" pour annuler la dernire action). Mode ins ertion : a c'es t le mode que vous connais s ez ! V ous tapez du texte, et il s 'ins re l'endroit o le curs eur s e trouve. Magique ! Pour rentrer dans ce mode, il y a plus ieurs pos s ibilits . Une des plus courantes es t d'appuyer s ur la touche "i" (ins ertion). Pour en s ortir, il faut appuyer s ur la touche "Echap". Mode commande : ce mode permet de lancer des commandes telles que "quitter", "enregis trer", etc. V ous pouvez aus s i l'utilis er pour activer des options de Vim (comme la coloration s yntaxique, l'affichage du numro des lignes ...), et vous pouvez mme envoyer des commandes au s hell ( la cons ole) telles que ls , locate, cp, etc. Pour activer ce mode, vous devez tre en mode interactif et appuyer s ur la touche deux-points ":". V ous validez la commande avec la touche Entre et revenez alors au mode interactif.

Je rs ume. Vim pos s de 3 modes : interactif, ins ertion et commande. V ous dmarrez en mode interactif. Le s eul mode que vous connais s ez et qui ne s era pas nouveau pour vous es t le mode ins ertion. Les 2 autres modes (interactif et commande) vont vous s urprendre un peu.

Pourquoi avoir fait autant de modes qui ont l'air s i compliqus dans un diteur de texte ? Pourquoi n'y a-t-il pas de menus ? Et pourquoi ne pas utilis er plutt un diteur de texte graphique, c'es t quand mme plus s imple avec une s ouris !

Trop de ques tions la fois .

tches

344/402

Je vais es s ayer de vous rpondre s implement, et il va falloir me croire s ur parole au dbut : s i des gens s e s ont amus s crer tous ces "modes " et tous ces raccourcis clavier, ce n'es t pas jus te pour le plais ir tortur de faire la mme chos e qu'avec une s ouris et des menus mais avec un clavier. En fait, vous allez vite dcouvrir que v o u s p o u v ez faire d es ch o s es q u e v o u s n e s o u p o n n iez p as av ec u n d iteu r d e texte : s upprimer le mot actuel, couper le texte du curs eur jus qu' la fin de la ligne, coller 4 fois le texte qui s e trouve dans le pres s epapiers , s auter la ligne n453, s auter la dernire ligne, etc. Toutes ces chos es -l s e font au clavier et, pour la plupart d'entre elles , vous devrez retenir par cur quelle touche corres pond quelle action. C'es t un peu contraignant au dpart, mais imaginez que c'es t comme apprendre taper 10 doigts au clavier comme un dactylo : au dbut, c'es t dur, vous avez l'impres s ion 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 s ans connatre tout a. Et pour ceux qui voudraient une interface graphique, s achez que Vim a t port s ous Unity s ous le nom gVim. V ous pouvez donc l'ins taller (mme s i vous utilis ez KDE hein) et le lancer, le fonctionnement es t identique au Vim de la cons ole. Il es t mme dis ponible en vers ion Windows , s i c'es t pas beau a ! Cette fentre affiche par dfaut des menus et une barre d'outils , comme un diteur de texte clas s ique. Un habitu du Vim cons ole aura plutt tendance utilis er les raccourcis clavier qui vont plus vite, bien entendu.

gVim sous Vista

Oprations basiques (dplacement, criture, enregistrement...)


Nous allons dcouvrir Vim travers plus ieurs tapes de plus en plus complexes . Nous commenons en douceur.

L'ouverture de Vim
Pour le moment, s i vous lancez Vim en tapant jus te la commande s ans paramtre : Code : Cons ole vim

... il s 'ouvre s ur un nouveau fichier vide comme ceci que vous avez dj vu :

tches

345/402

(le texte d'introduction que vous voyez disparatra ds que vous crirez les premiers caractres)

V ous pouvez aus s i ouvrir un fichier en rajoutant s on nom en paramtre : Code : Cons ole vim nomdufichier

Si le fichier n'exis te pas , il s era cr.

i : insrer du texte
Nous allons partir s ur un fichier vide. Nous s ouhaitons commencer rentrer du texte (quoi de plus normal pour un diteur de texte aprs tout ?). Appuyez s ur "i" (i minus cule). V ous bas culez alors en mode ins ertion. V ous pouvez maintenant taper du texte :

tches

346/402

Notez le mes s age -- INSERT -- en bas de l'cran qui vous confirme que vous tes en mode ins ertion. Ecrivez quelques lignes comme moi, puis appuyez s ur la touche Echap pour revenir au mode interactif (le mode normal dans lequel vous tiez au dpart). Le mes s age -- INSERT -- dis parat, et vous revoil en mode interactif.

Le dplacement
h, j, k, l : se dplacer dans tous les sens
En mode interactif, vous pouvez dplacer le curs eur au s ein du texte. Pour cela, on utilis e les touches : h : aller gauche. j : aller en bas . k : aller en haut. l : aller droite.

En image :

tches
QUOIII ? C'es t le comble ! On ne peut mme pas utilis er les flches du clavier pour s e dplacer ?!

347/402

Si s i, vous pouvez aus s i les utilis er. Es s ayez, elles marchent. D'ailleurs , en mode ins ertion, c'es t la s eule chos e qui marche.

0 et $ : se dplacer en dbut et fin de ligne


Pour placer le curs eur au tout dbut de la ligne, appuyez s ur 0 en mode interactif. La touche "Origine" que vous avez peut-tre l'habitude d'utilis er fonctionne aus s i. Cependant, retenez plutt qu'il faut utilis er 0, a vous s era utile par la s uite. De mme, pour aller en fin de ligne, appuyez s ur la touche $. L encore, la touche "Fin" fonctionne aus s i, mais es s ayez de prendre l'habitude d'utilis er $, a s era payant vous allez voir.

w : se dplacer de mot en mot


Avec w, vous pouvez vous dplacer de mot en mot dans le fichier. C'es t un autre moyen, parfois plus efficace et plus rapide, pour s e dplacer au s ein d'une ligne du fichier.

:w : enregistrer le fichier
Pour enregis trer votre fichier, vous devez tre au pralable en mode interactif (appuyez s ur Echap pour vous en as s urer). Appuyez ens uite s ur la touche deux-points (:) pour pas s er en mode commande, puis tapez w (write) s uivi du nom du fichier. La commande doit s 'afficher en bas .

Dans mon cas , j'ai donc tap :w monfichier (notez que j'aurais aus s i bien pu donner une extens ion .txt mon fichier). Appuyez ens uite s ur la touche Entre pour valider. Le bas de l'cran doit indiquer que le fichier a t crit (written) :

tches
Code : Cons ole "monfichier" [New] 4L, 185C written 98 All 4,101-

348/402

:q : quitter
Maintenant que vous avez enregis tr, vous pouvez quitter Vim en tapant :q J'ai es s ay de quitter en ayant fait des modifications aprs avoir enregis tr, et un mes s age d'erreur s 'affiche en rouge : "No write since last change".

Vim vous interdit de quitter s i vous n'avez pas enregis tr vos changements . V ous 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'es t la combinais on des 2 commandes que nous venons de voir. V ous enregis trez et quittez immdiatement Vim lors que vous tapez :wq.

Oprations standard (copier, coller, annuler...)


Nous avons vu le s trict minimum qu'il faut connatre pour s e dbrouiller dans Vim. Si ce n'es t pas difficile, il faut bien avouer que c'es t perturbant. Prenez donc le temps de vous y habituer. Nous allons aller un peu plus loin ici, et c'es t maintenant que vous allez commencer trouver Vim pratique (et parfois mme tonnant). Nous allons faire la majorit de ces actions en mode interactif : appuyez s ur la touche Echap s i vous n'y tes pas dj.

x : effacer des lettres


Placez le curs eur s ur une lettre en mode interactif, puis appuyez s ur x pour l'effacer. Cela revient appuyer s ur "Suppr" en mode ins ertion. On peut aller plus loin et effacer plus ieurs lettres d'un coup. Pour cela, utilis ez la formule s uivante : (nombre)x

Par exemple, s i vous tapez 4x (4 puis x), vous s upprimerez les 4 prochaines lettres en partant du curs eur. V devez taper 4 puis x. Ne vous tonnez pas s i rien ne s 'affiche l'cran lors que vous avez tap 4, c'es t normal. ous Ecrivez la commande jus qu'au bout, cela fonctionnera.

d : effacer des mots, lignes...


De la mme manire, on utilis e aus s i la touche d pour s upprimer des mots et des lignes . Commenons par s upprimer une ou plus ieurs lignes .

dd : supprimer une ligne

tches
Appuyez 2 fois s ur d (dd) pour s upprimer toute la ligne s ur laquelle s e trouve le curs eur.

349/402

Mieux : vous pouvez faire prcder cette ins truction d'un nombre de lignes s upprimer. Par exemple, s i vous tapez 2dd, vous s upprimerez 2 lignes d'un coup. Encore une fois , ne vous tonnez pas s i, jus te aprs avoir tap "2", rien ne s 'affiche l'cran. L'information es t enregis tre par Vim en mmoire mais l'action ne s era vraiment excute que lors que vous aurez tap entirement "2dd".

Note importante : la ligne ains i s upprime es t en fait "coupe" et place en mmoire. Elle peut tre colle, comme on le verra plus loin, avec la touche p.

dw : supprimer un mot
Placez le curs eur s ur la premire lettre d'un mot. Tapez ens uite dw (delete word ) : cela s upprime le mot en entier ! Si le curs eur es t pos itionn au milieu du mot, vous ne s upprimerez que les prochains caractres du mot (jus qu' l'es pace qui s uit). V ous pouvez aus s i s upprimer les 3 prochains mots en tapant 3dw. Notez que le 3 peut tre plac entre le d et le w, cela revient au mme : d3w (ce qui peut s e lire "delete 3 words").

d0 et d$ : supprimer le dbut ou la fin de la ligne


V ous vous s ouvenez de 0 et $ ? Je vous avais demand de les utilis er la place des touches "Origine" et "Fin" car on allait en avoir bes oin nouveau par la s uite. Le moment es t venu de s 'en res s ervir.

En tapant d0, vous s upprimez du curs eur jus qu'au dbut de la ligne. En tapant d$, vous s upprimez du curs eur jus qu' la fin de la ligne.

Pratique !

yy : copier une ligne en mmoire


yy copie la ligne actuelle en mmoire. Cela fonctionne comme dd qui la "coupe". V ous pouvez aus s i utilis er yw (pour copier un mot), y$ pour copier du curs eur jus qu' 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 ens uite le coller avec la touche p. Attention, retenez bien ceci : s i vous avez copi une ligne en mmoire et que vous appuyez s ur "p", elle s era colle s ur la ligne situe aprs le curseur. On es t parfois s urpris de voir o s e colle le texte, donc prenez le temps de vous y habituer.

V ous pouvez aus s i coller plus ieurs fois un texte en fais ant prcder le "p" d'un nombre. Par exemple, 8p collera 8 fois le texte en mmoire. Si je place mon curs eur s ur une ligne, que je tape yy puis 8p, je la collerai donc 8 fois !

tches

350/402

r : remplacer une lettre


Si vous avez fait une faute s ur s eulement une lettre, vous pouvez pas s er en mode remplacement. Placez le curs eur s ur la lettre remplacer. Tapez r s uivi de la lettre que vous voulez mettre la place. Par exemple, rs remplace la lettre actuelle par un "s ". Si vous utilis ez un R majus cule, cette fois vous bas culerez dans le mode remplacement : vous pourrez remplacer plus ieurs lettres la fois . V ous pouvez par exemple crire Rbonjour pour remplacer les caractres par "bonjour". Pour revenir au mode interactif normal, appuyez s ur Echap.

u : annuler les modifications


Pour annuler vos dernire modifications , appuyez s ur u (undo). Si vous s ouhaitez annuler vos 4 dernires modifications , appuyez s ur 4u (vous commencez connatre la formule, c'es t toujours la mme ). Pour rpter un changement (= annuler une annulation), appuyez s ur Ctrl + R.

G : sauter la ligne nX
Toutes les lignes d'un fichier ont un numro. La numrotation commence 1. Regardez bien en bas droite de Vim, vous devriez voir quelque chos e comme 4,3. 4 corres pond au numro de la ligne s ur laquelle s e trouve le curs eur, et 3 corres pond au numro de la colonne (3me lettre de la ligne). V ous pouvez directement s auter la ligne n7 par exemple en tapant 7G (attention, c'es t un G majus cule, donc pens ez lais s er la touche "Maj" appuye). Pour s auter la dernire ligne, tapez s implement G.

tches
Pour revenir la premire ligne, tapez gg.

351/402

Oprations avances (split, fusion, recherche...)


Nous avons vu l'es s entiel des commandes les plus courantes . Nous allons maintenant dcouvrir une s rie de commandes un peu plus complexes (quoique, a dpend des quelles ) parmi les quelles la fus ion de fichiers , la recherche, le remplacement, le dcoupage de l'cran (s plit), etc. Toutes ces commandes s e lancent depuis le mode interactif.

/recherche : rechercher un mot


Si vous tapez /, vous pas s ez en mode recherche. Le curs eur s e place en bas de l'cran (vous indiquant que vous tes pas s en mode commande). Ecrivez ens uite le mot que vous recherchez, par exemple "remplir" : /remplir. Tapez ens uite s ur Entre pour valider. Le curs eur s e place alors s ur la prochaine occurrence de "remplir" dans le fichier. Pour pas s er la prochaine occurrence du mot plus bas dans le fichier (s 'il apparat plus ieurs fois ), appuyez s ur n. Pour rechercher en arrire, appuyez s ur N (Maj + n). Si vous s ouhaitez ds le dpart lancer une recherche qui remonte vers le dbut du fichier, utilis ez ? au lieu de / pour lancer la recherche. Le fonctionnement res te le mme.

:s : rechercher et remplacer du texte


Pour rechercher et remplacer du texte, c'es t un peu plus compliqu. Il y a en effet plus ieurs faons d'effectuer le remplacement. La faon la plus s imple de faire une recherche es t de taper :s/ancien/nouveau pour rechercher "ancien" et le remplacer par "nouveau". Problme... cela ne remplacera que la premire occurrence d'ancien par nouveau. V toutes les variantes connatre : oici :s/ancien/nouveau : remplace la premire occurrence de la ligne o s e trouve le curs eur. :s/ancien/nouveau/g : remplace toutes les occurrences de la ligne o s e trouve le curs eur. :#,#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'es t peut-tre ce que vous utilis erez le plus frquemment.

:r : fusion de fichiers
Avec :r, vous pouvez ins rer un fichier la pos ition du curs eur. V ous devez indiquer le nom du fichier ins rer, par exemple : :r autrefichier. L'auto-compltion avec Tab fonctionne l-aus s i, donc pas bes oin d'crire le nom du fichier en entier !

Le dcoupage d'cran (split)


Vim pos s de une fonctionnalit pratique : il permet de dcouper l'cran et d'ouvrir plus ieurs fichiers

:sp : dcouper l'cran horizontalement

tches

352/402

Le plus s imple pour commencer es t de dcouper l'cran horizontalement. Tapez la commande :sp pour dcouper l'cran en deux :

Le fichier es t ouvert une s econde fois (ce qui vous permet de voir 2 endroits diffrents du fichier la fois ) mais il es t bien entendu pos s ible d'ouvrir 2 fichiers diffrents . Pour faire cela, rajoutez le nom du fichier ouvrir la s uite de la commande : :sp autrefichier. Bonne nouvelle : l'auto-compltion avec la touche Tab fonctionne aus s i dans Vim ! V ous pouvez retaper :sp pour dcouper cette fois l'cran en 3 et ains i de s uite, mais gare la lis ibilit ens uite.

:vsp : dcouper l'cran verticalement


Si le dcoupage horizontal par dfaut ne vous convient pas , s achez que vous pouvez aus s i effectuer un dcoupage vertical avec :vsp.

tches

353/402

Il es t bien entendu pos s ible de rpter plus ieurs fois la commande, et mme de combiner des dcoupages verticaux et horizontaux.

Les principaux raccourcis en cran splitt


Chaque morceau de l'cran (corres pondant un fichier) es t appel viewport. V une lis te de raccourcis pratiques que vous pouvez utilis er lors que l'cran es t s plitt (dcoup) : oici Ctrl + w puis Ctrl + w : navigue de viewport en viewport. Rptez l'opration plus ieurs fois pour accder au viewport ds ir. Ctrl + w puis j : dplace le curs eur pour aller au viewport jus te en-des s ous . La mme chos e fonctionne avec les touches h, k et l que l'on utilis e traditionnellement pour s e dplacer dans Vim. Ctrl + w puis + : agrandit le viewport actuel. Ctrl + w puis - : rduit le viewport actuel. Ctrl + w puis = : galis e nouveau la taille des viewports . Ctrl + w puis r : change la pos ition des viewports . Fonctionne aus s i avec "R" majus cule pour changer en s ens invers e. Ctrl + w puis q : ferme le viewport actuel.

V qui devrait vous permettre de faire ce que vous voulez en cran s plitt. oil

:! : lancer une commande externe


Il es t pos s ible d'crire des commandes traditionnelles du s hell directement dans Vim. Pour cela, commencez par taper :! s uivi du nom de la commande. Es s ayez par exemple de taper :!ls. V ous afficherez alors le contenu du dos s ier dans lequel vous vous trouvez ! Cette fonctionnalit es t bien pratique pour effectuer quelques actions s ans avoir quitter Vim.

Les options de Vim

tches
Vim peut tre pers onnalis de 2 faons diffrentes : En activant ou ds activant des options . La documentation complte des options es t dis ponible en ligne. En ins tallant des plugins . V la page officielle des plugins les plus tlchargs de Vim. oir

354/402

Nous n'allons pas pas s er en revue les plugins , mais il y a un certain nombre d'options intres s antes qu'il vaut le coup d'activer.

Le fonctionnement des options


Les options peuvent tre actives aprs le lancement de Vim en lanant des commandes . Cependant, ces options s eront "oublies " ds que vous quitterez Vim. Si vous voulez que les options s oient actives chaque dmarrage de Vim, il faut crer un fichier de configuration .vimrc dans votre rpertoire pers onnel.

Activer des options en mode commande


La premire mthode cons is te activer l'option en mode commande. Une fois Vim ouvert, pour activer l'option nomme "option", tapez : :set option Pour la ds activer, tapez : :set nooption Il faut donc rajouter le prfixe "no" devant le nom de l'option pour la ds activer.

Certaines options doivent tre prcis es avec une valeur, comme ceci : :set option=valeur

Pour connatre l'tat d'une option : :set option?

Activer des options dans un fichier de configuration


C'es t mon avis la meilleure faon de procder. Commencez par copier un fichier de configuration dj comment qui vous s ervira d'exemple. Il y en a un dans /etc/vim qui s 'appelle vimrc. Copiez-le dans votre rpertoire pers onnel en le fais ant prcder d'un point (pour que ce s oit un fichier cach) : Code : Cons ole $ cp /etc/vim/vimrc ~/.vimrc

Ouvrez maintenant ce fichier... avec Vim bien s r. Code : Cons ole

tches
$ vim .vimrc

355/402

Le dbut du fichier res s emble ceci : Code : Cons ole " " " " " " " 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 commenant par " s ont des commentaires . Je vous recommande de les lire, ils donnent des informations utiles .

Pas s ons 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 plais ent en dcommentant les lignes concernes . Pour cela, la meilleure faon de procder es t de s e mettre en mode interactif, de s e dplacer avec hjkl, et d'appuyer s ur x lors que le curs eur es t s ur un guillemet pour le s upprimer et activer ains i l'option.

syntax : activer la coloration syntaxique


C'es t clairement la premire option activer : la coloration s yntaxique. En fonction du type de fichier que vous ouvrez, Vim colorera le texte. Vim s upporte un trs trs grand nombre de langages de programmation : C, C++, Python, Java, Ruby, Bas h, Perl, etc. Activez donc : Code : Cons ole syntax on

Notez qu'il faut enregis trer, quitter et relancer Vim pour que le changement s oit pris en compte... s auf bien s r s i vous activez l'option la vole en tapant dans Vim :set syntax=ON

tches
Aperu du rs ultat :

356/402

background : coloration sur un fond sombre


Par dfaut, la coloration de Vim es t plus adapte aux fonds clairs . Les commentaires , par exemple, s ont crits en bleu fonc s ur noir... pas trs lis ible. Si votre cons ole es t s ur un fond noir comme chez moi, je vous recommande d'activer la prochaine option background et de la mettre "dark". Code : Cons ole set background=dark

Les couleurs s eront largement plus adaptes :

tches

357/402

number : afficher les numros de ligne


Il es t pos s ible d'afficher le numro de chaque ligne gauche : Code : Cons ole set number

C'es t as s ez pratique, notamment quand on programme.

tches

358/402

showcmd : afficher la commande en cours


Lors que vous crivez une commande comme 2dd pour s upprimer 2 lignes , vous crivez l'aveugle. V ous ne voyez pas ce que vous avez crit. Si cela n'tait pas pos s ible dans Vi, on peut le faire dans Vim. Encore faut-il activer l'option : Code : Cons ole set showcmd

ignorecase : ignorer la casse lors de la recherche


Si vous s ouhaitez que, lors d'une recherche, Vim ne fas s e pas la diffrence entre les majus cules et les minus cules , activez cette option : Code : Cons ole set ignorecase

mouse : activer le support de la souris


Eh oui ! Mme en mode cons ole, il es t pos s ible d'utilis er la s ouris . Commencez par activer le s upport de la s ouris :

tches

359/402

Code : Cons ole set mouse=a

Ds ormais , vous pourrez cliquer avec la s ouris s ur une lettre pour y dplacer le curs eur directement. V ous pourrez utilis er la molette de la s ouris pour vous dplacer dans le fichier. V ous pourrez aus s i s lectionner du texte avec la s ouris . V ous pas s erez alors en mode vis uel. Dans ce mode, vous pouvez s upprimer le texte s lectionn (avec x comme d'habitude), mais aus s i mettre le texte tout en majus cules (U), minus cules (u), etc. Pour plus d'informations , lis ez la documentation du mode vis uel de Vim. Le s urnom de Vim es t "Programmer's text editor" (l'diteur de texte du programmeur). On s e rend compte l'us age qu'il es t en effet bien adapt la programmation : coloration s yntaxique pous s e de trs nombreux langages , affichage du numro de ligne, mis e en s urbrillance de la parenths e ou de l'accolade corres pondante, etc. Il es t mme pos s ible de compiler et lancer s es programmes directement depuis Vim ! Pourtant, il n'es t pas facile prendre en main. Ce tutoriel vous aura permis d'avoir une bonne petite introduction Vim, afin que vous ne s oyez pas perdus , mais retenez bien ceci : n o u s s o mmes trs lo in d 'av o ir v u to u tes les p o s s ib ilits d u lo g iciel ! Sans plugins , on peut dj faire des tonnes de chos es , le tout tant de s e rens eigner et de lire la documentation. N'hs itez pas aller plus loin que ce chapitre. Mme s i s a lecture s era s uffis ante pour s uivre la fin du cours , je vous cons eille vraiment de parcourir un peu la doc et de demander des cons eils . On peut faire des chos es tonnantes .

Bien, maintenant que vous s avez manier un diteur de texte digne de ce nom, il es t temps de pas s er aux chos es s rieus es : la programmation ! Direction le prochain chapitre, on va faire des s cripts bas h !

Vous aimerez peut-être aussi