Frage

Ich verwende Vim, und ich möchte einige Platzhalter-Text mit einer langen Zeichenfolge ersetzen, die mehrere Zeilen umfasst, die schon woanders in die Datei geschrieben werden.

Ist es möglich, ein Muster mit dem Inhalt eines Registers zu ersetzen? So etwas wie

:%s/foo/<contents of register A>

Ansonsten ist es möglich, mit einer Reihe von Linien zu ersetzen? so etwas wie

:%s/foo/<content of lines from 10 to 15>
War es hilfreich?

Lösung

Nach http://vim.wikia.com/wiki/Search_and_replace Es erscheint:

:%s/foo/\=@a/g

Auch Drücken <c-r>a während im Einfügemodus wird der Inhalt des Registers a einzufügen.

Cool - ich wusste nie. Gute Frage.

Einige andere Dinge mit <c-r> zu tun: http: //vimdoc.sourceforge .net / htmldoc / cmdline.html # c_CTRL-R

Andere Tipps

:%s/foo/\=getline(10, 15)/g

:%s/foo/\=join(getline(10, 15))/g
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top