Le savoir n'a guère d'intérêt s'il n'est pas partagé.

Pour cette nouvelle année, je lance une micro série sur mon blogue personnel où je vous expose différentes trouvailles, choses qui font que j'aime vim, qui font que je l'utilise au quotidien. 😁

Cette série est à destination des personnes n'utilisant pas encore vim par ce qu'ils ne savent pas le quitter (joke), ou encore, comme pour ce numéro, des personnes utilisant déjà vim.

Ce premier numéro va parler d'un plugin très utile nommé "Surround". 😎

Pour l'installer, je vous conseil de suivre ce lien (en fonction du gestionnaire de plugins que vous utilisez). 😜

Pour ma part j'utilise Pathogen donc, l'installation peut être réalisée avec les commandes suivantes:

cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround

Ce plugin est génial pour tous les développeurs mais aussi les ops qui, par exemple, souhaiteraient modifier des "double quotes" par des 'simple quotes' très rapidement et simplement, mais pas que ! 🛠

En effet, ce plugin vous permet de gérer les paires de caractères comme:

  • " "
  • ' '
  • [ ]
  • ( )
  • { }
  • <p> </p>

Comment ça s'utilise ? 🐱‍👤

Tout d'abord, comprenez comment fonctionne le plugin - apprenez comment entourer (ys), supprimer (ds) et changer (cs).

Ensuite, travaillez à l'aide d'exemples guidés, comme ceux qui suivent. Une fois que vous avez compris les bases, commencez immédiatement à utiliser le plugin dans votre écriture/codage quotidien et vous verrez, ça vous fera gagner un temps précieux! 😁

Quelques exemples 💕

  • Pour entourer un mot:
I love vim
I love "vim"

Solution : ysiw" (ys : ajouter un entourage ; iw : mot entier, peu importe où se trouve le curseur, tant qu'il est au niveau du mot que vous voulez entourer ; " : caractère pour entourer le texte).

  • Entourer toute la ligne:
I love vim, peut-être pas vous?
(I love vim, peut-être pas vous?)

Solution : yss) (ys : ajouter un entourage ; s : ligne entière ; ) caractère pour entourer la ligne).

  • Entourer une ligne ou un paragraphe avec un tag (HTML, XML):
Hello World! How are you?
<p>Hello World! How are you?</p>

Solution : yss (yss : ajouter les environs à la ligne entière ; balise pour entourer la ligne).

Note : La balise de fermeture sera complétée automatiquement. Très pratique ! 🏴

  • Supprimer l'entourage
"Hello World!"
Hello World

Solution : ds" (ds : supprimer l'entourage ; " : caractère à supprimer ; placer le curseur n'importe où dans la zone de texte).

  • Supprimer les balises environnantes
<em><p>Hello World!</p></em>
Hello World!

Solution : dstdst (dst ; delete surrounding tag) ; si vous installez repeat.vim, vous pouvez utiliser "." pour répéter, donc dst. sera identique à dstdst.

  • Changer l'entourage
"Hello World!"
*Hello World!*

Solution : cs "* (cs : changement d'environnement ; " : environnement existant ; * : nouvel environnement).

  • Changer les tags d'entourage
<p>Hello World!</p>
<em>Hello World!</em>

Solution : cst (cst : changement de balise d'entourage ;  <em>: nouvel entourage).

Vous trouverez bien plus d'exemples ici. 😃 Que c'est beau et wow, le temps que ça fait gagner, sans déconner ! 😉