Mon aide-mémoire UltiSnips
UltiSnips est un plugin très utile de Vim, qui permet d'insérer des snippets, des "bouts de code" qui sont répétitifs à saisir. Par exemple, une boucle foreach en PHP ou une balise img en HTML. Mais pour bien l'utiliser, il faut connaître quelques combinaisons de touches supplémentaires. Pour ne pas les oublier entre deux utilisations, je les note ici.
Insérer le snippet |
Saisir par exemple img puis TabNote : il faut un espace ou autre séparateur devant img , sinon par exemple <span>img n'est pas reconnu comme déclencheur
|
---|---|
Lister les snippets avant d'insérer |
Saisir par exemple img puis Ctrl TabUltiSnips va proposer les snippets img img# avec un attribut id et img. avec un attribut class Problème : mon terminal XFCE intercepte Ctrl Tab donc ça marche dans Gvim mais pas dans Vim 🙄 donc j'ai ajouté dans mon .vimrc |
Passer au champ suivant du snippet | Ctrl j |
Passer au champ précédent du snippet | Ctrl k |
Effacer le champ entier | Touche Retour arrière (Backspace) |
Pour le HTML, insérer la valeur dans un attribut |
Si l'attribut est pré-rempli et pré-selectionné par UltiSnips, par exemple target="_blank" , et si je veux changer juste la valeur _blank , je ne peux pas commencer à saisir sinon j'efface aussi target=… Dans ce cas :
img , dans la version que j'ai, permet de faire Ctrl j pour sélectionner alt="" et éventuellement l'effacer en bloc, puis Ctrl j à nouveau pour entrer dans les guillemets.
|
Coller du texte "externe" dans un champ proposé par UltiSnips |
Par exemple, pour coller une URL dans l'attribut href d'une ancre, si cette URL a été copiée hors de Vim dans un logiciel tel que Firefox :
|
Mettre un snippet autour de la sélection |
Par exemple, on a saisi le texte "https://hervérenault.fr/" et on voudrait transformer ce texte pur en lien :
|
Mettre autour de la sélection un snippet qui utilise ${VISUAL} |
Par exemple, le snippet p utilise ${VISUAL} de cette manière : <p>${0:${VISUAL}}</p>
Dans ce cas, on peut simplement
Ce n'est pas très pratique parce qu'il faut savoir quel snippet a cette possibilité. La méthode précédente est plus générale, elle fonctionne dans tous les cas. |
Pour voir les snippets disponibles, c'est dans ~/.vim/bundle/vim-snippets/UltiSnips/
Pour créer ses propres snippets, c'est dans ~/.vim/UltiSnips/
Et pour le reste, il y a toujours :help ultiTab