Utiliser les bookmarks dans Vim

J’utilise Vim en tant qu’IDE pour développer et j’utiliser depuis peu de temps les Bookmarks que je trouve très pratique. Je vais vous présenter ici l’utilisation de ces derniers. Ils permettent d’enregistrer un emplacement précis dans un fichier (ligne et colonne), afin d’y revenir facilement par la suite.

Une fois cette fonctionnalité maîtrisé, vous allez gagner en productivité. Dans Vim les Bookmarks s’appellent des « Marks« , mais pour des raisons de simplicité, j’appellerai ça des bookmarks.

Il existe deux types de bookmarks dans Vim :

  • les locaux
  • les globaux

Les bookmarks locaux sont destinés à être utilisés quand vous travaillez sur qu’un seul fichiers à la fois. Les bookrmarks globaux sont eux destinés à être utilisés quand vous travaillez sur plusieurs fichiers en même temps.

Vous allez voir, c’est beaucoup plus simple que ça en a l’air.

Bookmark local dans Vim

Si vous travaillez avec un seul fichier et souhaitez enregistrer une position spécifique (ligne) alors vous pouvez utiliser les Bookmarks locaux. Les noms des Bookmarks locaux sont en minuscules.

Comment créer un Bookmark dans Vim

Dans Vim en mode commande, tapez m{name} , name est le nom du bookmark. 

Par exemple si vous tapez « ma », cela va créer un bookmark sur la ligne courante nommé « a ».

Dans l’exemple suivant via la commande « ma » vous pouvez créer un bookmark nommé « a » qui se trouve à la ligne et à la colonne où se trouve le curseur. 

Bookmark de la position courante dans Vim via la commande ma

 

Accéder aux bookmarks dans Vim

Pour utiliser les bookmarks créés dans Vim, il existe deux méthodes : 

  1. La première méthode consiste à utiliser la commande suivante :  `{name}  

    Ceci à pour conséquence d’aller directement sur le Bookmark nommé, en positionnant le curseur sur la ligne et la colonne qui correspondent à celles enregistrées lors de la création du Bookmark.
    Par exemple, si vous tapez la commande `a  cela va positionner le curseur sur la ligne et la colonne qui correspondent à celles où se trouvait le curseur lors de la création du Bookmark.

  2. La deuxième méthode consiste à utiliser la commande : '{name}   

    La commande vous emmène sur le Bookmark enregistré, mais positionne cette fois-ci le curseur au début de la ligne.

Bookmark globaux dans Vim

Quand vous avez plusieurs fichiers ouverts dans Vim et souhaitez travailler à des lignes spécifiques sur chacun de ces fichiers, alors vous pouvez utiliser les Bookmarks globaux.

Un Bookmark global a un nom en majuscule.

La commande « mA » créé un bookmark global nommé « A ».

Afficher l’ensemble des Bookmarks

Ci-dessus, la commande :marks  indique que j’ai créé :

  • un bookmark local, nommé « b » à la ligne 10, colonne 12. Ca nous affiche aussi un extrait de la ligne 10.
  • un bookmark global, nommé « G » à la ligne 56, colonne 0. 

En dehors des bookmarks ci-dessus, Vim gère des bookmarks par défauts sur lesquels vous n’avez pas de contrôle. 

Si vous utilisez  la commande marks vous devriez avoir les informations suivantes qui s’affichent.

Le bookmark « . » indique la position où la dernière modification a été effectuée. Donc si vous utilisez la commande `.  vim vous positionnera à l’endroit où la dernière modification a eu lieu.

 

Bref récapitulatif

  • ma  – création d’un bookmark nommé « a »
  • `a  – Aller sur la position exacte (ligne et colonne) du bookmark nommé « a »
  • 'a  – Aller au début de la ligne du bookmark nommé « a »
  • :marks  – Afficher tous les bookmarks
  • :marks a  – Afficher les détails du bookmarks nommé « a »
  • '.  – Aller à la position exacte (ligne et colonne) où la dernière modification a eu lieu
  • '.   – Aller au début de la dernière ligne modifiée

 

 

 

 

 

Concatener des lignes sous VIM

Il est possible sous VIM (VI) de concaténer plusieurs lignes. C’est à dire de supprimmer les saut de lignes afin de n’avoir plus qu’une seule et même ligne.

Il existe plusieurs possibilités.

Vous pouvez utiliser la commande :join

Ou bien la combinaison de touches SHIFT + j.

 

Par exemple nous avons le texte suivant :

Placez vous sur la première ligne du texte (en mode commande) et appuyez successivement sur la combinaison de touches SHIFT + j. Vous obtiendrez le résultat suivant:

Les lignes qui se trouvaient au dessous du curseur, sont remontées et se sont concaténées à la ligne courante (c’est à dire celle sur laquelle se trouvait le curseur).

Commenter plusieurs lignes d’un seul coup avec VIM

Commenter plusieurs lignes :
Vous souhaitez commenter plusieurs lignes d’un seul coup sur votre éditeur préférer VIM (vi pour les intimes).

Voici la manip à suivre :

1/ Premièrement, passer en mode visuel (CTRL+V).

2/ Sélectionnez les lignes que vous souhaitez commenter en appuyant de manière successive sur la touche du bas : j ou « fleche du bas« .

3/ Appuyer sur la touche I (i majuscule) pour passer en mode insertion.

4/ Taper sur # ou // selon le type de commentaire que vous souhaitez insérer.

5/ Appuyer ensuite successivement (deux fois) sur la touche Esc, Esc.

Grâce à cette manipulation vous pouvez insérer en début de chaque ligne un caractère ou un mot.

Decommenter plusieurs lignes :

1/ Passer en mode visuel (CTRL+V).

2/ Sélectionner le bloc à decommenter (attention uniquement les caractères à supprimer).

3/ Appuyer sur d