Encore un petit tip Vim

Le commen­taire de Billux à ma note précé­dente (voir ici) m’a rappelé qu’a­vec Julien, on avait trouvé deux tips bien utiles :

  • En mode édition, si vous êtes en train d’écrire un chemin, Vim vous propo­sera l’au­to­com­plé­tion de ce chemin si vous faites Ctrl+x, Ctrl+f
  • En mode commande, vous pouvez dire à Vim d’ou­vrir le fichier dont le chemin est sous le curseur avec
    • gf pour l’ou­vrir dans un nouveau buffer
    • Ctrl+w, gf pour l’ou­vrir dans un nouvel onglet

Tant que j’y suis, parlons un peu des buffers (il s’agit là des buffers des fichiers et non des presses-papier).
Habi­tuel­le­ment je préfère utili­ser les onglets mais dans certaines circons­tances, les onglets ne peuvent être utili­sés. Vim à travers un screen par exemple.
Le problème avec ces buffers, c’est qu’ils forment une pile et qu’il est parfois diffi­cile de se rappe­ler quel fichier est ouvert, s’il est loin dans la pile…

Pour utili­ser les buffers de façon plus confor­table, j’uti­lise le plugin mini­bu­fex­plo­rer. Il permet d’avoir la liste numé­ro­tée des buffers en haut de l’édi­teur, ce qui est quand même bien plus pratique.

Et dès lors, les commandes suivantes sont bien plus agréables à utili­ser puisqu’on sait où on va :

  • :bn pour le buffer suivant
  • :bp pour le buffer précé­dent
  • :bd pour suppri­mer le buffer
  • :bufdo :%s/toto/titi pour rempla­cer toto par titi dans tous les buffers (il existe aussi tabdo pour la même chose avec les onglets)

Back on line ! – Vim et les presses-papiers nommés

Me revoilà !

Je l’avoue, ça fait un peu plus d’une semaine que j’ai de nouveau le net, mais avec les update de mes Debian qui foirent tout à cause de libglib2.0.0, les tenta­tives (ratées) d’ins­tall de mon serveur (ratées parce que les cd d’ins­tall de Debian foirent, c’est pas ma faute), et le fait de ne pas avoir fait les tests néces­saires pour faire de beaux billets un tant soit peu complets, ben j’avais rien à dire.

Mais là j’ai trouvé un beau truc ici, tout con mais telle­ment pratique !

C’est pour utili­ser la capa­cité de Vim d’avoir plusieurs presses-papier.

Pour créer un presse-papier nommé a, il suffit de se placer sur la ligne/sélec­tion­ner en mode visual et de faire :

"ayy

Pour copier ce presse-papier :

"ap

Et voilà ! N’est-ce pas beau ?

EDIT : Sachez aussi que le nom des presses-papier peut aller de a à z et que Vim garde un histo­rique de vos presses-papiers non nommés : il sont nommés de 0 à 9.

Pour voir la liste et le contenu de vos buffers, tapez

:reg

Et pour copier un inter­valle de ligne (disons de la ligne 27 à la ligne 42) dans un presse-papier nommé b:

:27,42y b