Insérer le contenu d'un fichier ou d'une commande shell dans Vim
Pour insérer le contenu d’un fichier quelconque dans le buffer courant de
Vim, utilisez la commande :r:
Comme dans: :r /mon/fichier/quelconque.
C’est vraiment utile parfois, le problème est que le nom du fichier doit
être
absolu, ou doit commencer par le tilde (~). Ce qui dans certains cas
limite pas mal l’usage de cette commande.
Au fait, r est le petit nom de read :)
La version avec un point d’exclamation :r! est aussi très intéressante
puisqu’elle insère la sortie d’une commande shell. Par exemple, si je tape:
:r! cal
Cela va insèrer le calendrier du mois dans cet article, comme ceci:
Avril 2014
di lu ma me je ve sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Mais là encore j’ai un souci. Ça ne fonctionne qu’avec des commandes shell et automatiquement dans mon home. Je m’explique:
- Si j’édite un fichier
~/dossier/fichieret que je veuille insérer le contenu dedossier, je dois écrire:r! ls ~/dossier. Alors que j’aimerais écrire juste:r! ls. - J’aimerais bien pouvoir insérer avec
rla sortie de mes tests Rspec, par exemple. Mais:r! rspec ~/mon/fichierne fonctionne pas,rspecn’étant pas reconnu par Vim comme étant une commande.
Enfin, bref, si tu sais comment venir à bout de ses limitations, ton commentaire m’intéresse. Sinon, il m’intéresse aussi ;)
À demain.