Wie man Suchmuster beim Schreiben zurücksetzt, ersetzen Sie Regex Muster in Vim?

8

Hier ist das Szenario: Ich habe eine große Datei voller allerlei eklektischem Müll, den ich neu formulieren möchte. Ich fummle herum und finde ein perfektes Suchmuster, indem ich den / -Befehl benutze und sehe, was es hervorhebt.

Jetzt möchte ich dieses Muster verwenden, um es zu ersetzen. Also fange ich an, :% s / einzugeben, und ich kann mich nicht erinnern, was das Muster war. Gibt es einen magischen Tastaturbefehl, der hier mein letztes Suchmuster eingibt? Wenn ich einen besonders komplexen Regex schreibe, habe ich sogar ein neues MacVim-Fenster geöffnet, den Regex aus dem ersten Fenster in einen Puffer eingegeben und ihn dann beim Schreiben des Ersetzungsmusters in das Vim-Fenster zurückgeschrieben. Es muss einen besseren Weg geben.

    
Tom Morris 29.05.2010, 14:47
quelle

3 Antworten

10

Ich habe meine eigene Antwort gefunden, nachdem ich die Frage aufgeschrieben habe: Vim Tipps listet es als die letzte Suche und kann durchgeführt werden auf eine von zwei Arten.

  1. Verwenden Sie eine leere Suche:

    :% s // ersetzen / g

  2. Drücken Sie Strg + r , um das Material aus dem Suchpuffer ( / - Sie können jeden anderen benannten Puffer verwenden, indem Sie / für den Buchstaben ersetzen, der diesen Puffer darstellt.

Tom Morris 29.05.2010, 14:47
quelle
4

Es gibt ein / -Register, das das aktuelle Suchmuster enthält, sodass Sie das Suchmuster in das einfügen können, was Sie gerade eingeben (entweder im Einfügemodus oder in der Befehlszeile) mit <CTRL-R>/

    
Dave Kirby 29.05.2010 15:15
quelle
1

Eine weitere Option: Nachdem Sie das Muster mit <CTRL-R>/ eingegeben haben, bearbeiten Sie die Befehlszeile mit <CTRL-F> .

: help cmdwin

    
benjifisher 23.12.2013 16:25
quelle

Tags und Links