Question

Il y a le " ;: un " commande, mais c’est multi-ligne, et argdo vous redemande le texte pour chaque fichier.

Les documents mentionnent la commande globale (g / pat / commande) qui utilisera une version alternative de ": a " qui se termine par une nouvelle ligne au lieu de ". " sur une ligne (vous pouvez inclure des nouvelles lignes en les échappant avec & "; \ &";). Mais je n'ai pas réussi à faire en sorte que cela fonctionne.

Le seul moyen que j'ai vu consiste à extraire d'abord le texte à ajouter à un registre nommé, puis à utiliser:

:argdo put x                 " where x is the register

J'espère quelque chose comme

:argdo append myTextHere
Était-ce utile?

La solution

Je ne sais pas trop où vous essayez d'insérer le texte dans le tampon. Si vous le souhaitez après la ligne en cours:

:argdo exe 'normal osometext'

Insertion de texte avec des sauts de ligne:

:argdo exe "normal osometext\<CR>anewline"

Autres conseils

Pour ajouter du texte après la ligne 10:

:argdo call append(10, "hello world")

Pour ajouter du texte à la ligne 10:

:argdo call setline(10, getline(10)."textappended")

Tirer un texte dans vim le mettra dans le tampon par défaut, qui est ". Vous pouvez coller ce tampon en mode insertion, par exemple en tapant <C-R>". Donc tout ce dont vous avez besoin est argdo put "

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top