In Vim gibt es eine Möglichkeit, Text in der Suchzeile einzufügen?

StackOverflow https://stackoverflow.com/questions/101258

  •  01-07-2019
  •  | 
  •  

Frage

Ich möchte für $maximumTotalAllowedAfterFinish und ersetzen sie durch $minimumTotalAllowedAfterFinish suchen. Anstatt den langen Text eingeben:

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

Gibt es eine Möglichkeit, diese langen Variablennamen nach unten in die Suchzeile zu kopieren, da auf der Kommandozeile ich nicht „p“ eingeben kann einfügen?

War es hilfreich?

Lösung

können Sie fügen Sie den Inhalt eines Registers nummeriert oder Namen, indem Sie STRG R {0-9a-z"%#:-=.} . Durch die Eingabe von STRG + R CTRL-W Sie das aktuelle Wort unter dem Cursor einfügen können. Siehe auch:

:he cmdline-editing

für weitere Informationen.

Andere Tipps

Kopieren Sie es als normal, dann tun Strg R " einzufügen. Es gibt viele andere Strg R Verknüpfungen (zB ein Rechner, aktuelle Dateiname, den Inhalt der Zwischenablage). Typ :help c_<C-R> die vollständige Liste zu sehen.

Typ q: zu bekommen in der Geschichte Editiermodus in einem neuen Puffer. Dann bearbeiten Sie die letzte Zeile des Puffers und drücken Enter es auszuführen.

Kopieren:
1) v (oder markieren Sie mit der Maus, im visuellen Modus)
2) y (yank)

Paste:
1) / (Suchmodus)
2) Ctrl + R + 0 (Paste aus zerrte Register)

oder den Befehl in einem Vim-Puffer erstellen, zum Beispiel Geben Sie es in dem Puffer:

s/foo/bar/gci

Und kopieren Sie sie in einem benannten Register, mit "ayy (wenn der Cursor auf dieser Linie ist!).

Jetzt können Sie den Inhalt des „a“ execute registrieren aus Vims Ex Kommandozeile mit:

:[OPTIONAL_RANGE]@a

Ich benutze es die ganze Zeit.

Normalerweise würden Sie tun, mit der Maus Auswählen (vielleicht Strg In oder Strg C nach Auswahl) und dann, wenn in der Befehl / Suchzeile, mittlere Maustaste (oder Umschalttaste in oder Strg V ) .

Eine andere Möglichkeit ist Ihr Befehl / Suchzeile im Textpuffer mit allen Bearbeitung in Textpuffer zu schreiben, mit : und alle beginnen, dann auf der Linie, zu tun:

"add@a

, die die gesamte Befehlszeile im Puffer a speichern, und führen Sie es dann. Es wird nicht in der Befehlshistorie gespeichert werden, though.

Versuchen Sie die folgende Zeile in dem Textpuffer als ein Beispiel für die Tastendrücke zu schaffen über:

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

Schließlich können Sie q: eingeben, um Geschichte Bearbeitung in einem Textpuffer eingeben.

Sie können auf das Wort, um den Cursor platzieren, die Sie Ihrem Muster hinzufügen möchten, und drücken Sie die / oder : entweder die Suche oder den Befehl Modus aufzurufen, und und drücken Sie Strg R Strg W , um das Wort zu kopieren.

scroll top