45 votes

Vim : insérer du texte à partir d'un fichier à la position actuelle du curseur

Pour insérer du texte à partir d'un fichier dans le tampon Vim actuel, j'utilise :r filename pour insérer le texte sous le curseur ou :0r filename insérer dans la première ligne.

Comment insérez-vous le contenu d'un fichier où se trouve [Curseur] ?

Actual line with some coding [Cursor]  // TODO for later version  
Line below actual line ...

35voto

user2830191 Points 287

Cela fonctionne (insère le fichier dont le nom est au curseur du document actuel) :

    :r <cfile>

6voto

awm Points 4609

Insérez un saut de ligne, lisez le fichier, puis retirez le saut de ligne...

2voto

Benoit Points 35553

Je propose Ctrl-R Ctrl-O = join(readfile('filename','b'), "\n")

Autre solution :

Ouvrez éventuellement l'autre fichier dans une autre fenêtre, utilisez :%yh (h est un nom de registre) et dans votre fichier d'origine, en mode normal utilisez "hp ou "hP ou en mode insert, Ctrl-R Ctrl-O h

-1voto

ggustafsson Points 262

Ce que vous voulez utiliser est :.-1read <file> (.-1 est le numéro de ligne actuel moins 1).

J'utilise la liaison de clé suivante pour insérer facilement divers modèles que j'ai : nnoremap <Leader>in :.-1read ~/.vim/templates/.

Notez que quelque chose comme nnoremap <Leader>in <Up>:read ~/.vim/templates/ NE FONCTIONNERA PAS lorsque vous vous tenez sur la ligne 1. C'est vraiment bizarre et probablement un bug dans Vim (j'utilise 7.4.x).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X