Wie kopiere / füge ich im vim ex-Modus ein?

10

Ich bin zunehmend frustriert, wenn ich das schreibe

:% s / some_really_long_string / some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / gc

Gibt es eine Möglichkeit, diese Zeichenfolgen im Ex-Modus zu kopieren / einzufügen?

Iakie
quelle

Antworten:

10

Mit können Sie Ctrl-Rden Wert eines Registers in die Ex-Befehlszeile einfügen. Wenn Sie beispielsweise Text in das Standardregister gezogen haben, können Sie ihn mit abrufen Ctrl-R".

Es gibt auch Verknüpfungen für einige häufige Fälle. Sie können das aktuelle Wort unter dem Cursor mit Ctrl-RCtrl-Woder den aktuellen Dateinamen mit einfügen Ctrl-RCtrl-F.

Weitere Informationen finden Sie in diesen Themen, einschließlich einiger weiterer Beispiele:

:help c_CTRL-R
:help cmdline.txt

Auch Register sind lesenswert:

:help registers
Bill Odom
quelle
Ich dachte Ctrl-R, du müsstest eine Schicht machen, um das Kapital zu bekommen R. aber als ich es ausprobiert habe, brauchst du nur ctrl-rohne Schicht.
Trevor Boyd Smith
10

Ich vermeide es fast immer, die Suchzeichenfolge in den Ersatzbefehl einzugeben, indem ich zuerst eine Suche (mit /) oder ein "Wort unter Cursorsuche" (mit *) ausführe und dann Folgendes ausführe:

:%s//other_string/gc

Wenn das Suchmuster fehlt, verwendet der Ersatzbefehl das letzte Suchmuster.

Abgesehen davon, dass Sie weniger Zeichen eingeben, können Sie im ersten Fall beim Suchen /zunächst ein komplexes Suchmuster testen, bevor Sie die Ersetzung ausführen. Der zweite Fall, bei dem gesucht wird *, ermöglicht es, das Einfügen der Start- / Endatome, dh \<und , zu vermeiden \>.

- -

Übrigens können Sie das gFlag vermeiden, indem Sie die Zeile hinzufügen

set gdefault

in Ihrer vimrcDatei.

mrucci
quelle