2017-01-18 1 views
0

Wenn ich: vimgrep, durchsucht es alle Dateien im aktuellen Verzeichnis. Aber meine Anforderung ist das Suchen/Ersetzen unter allen geöffneten Dateien.vim: Wie in allen geöffneten Dateien suchen/ersetzen?

z. Ich verwende vim 3 Dateien zur gleichen Zeit

vim 1.cpp 2.cpp 3.cpp 

ich öffnen wollen:

  1. Suche alle Funktionen namens „main“ und die Anzeige in quickfix Fenster unter allen 3 Dateien .

  2. Ersetzen Sie alle "Hallo" mit "Welt" in allen 3 Dateien.

Antwort

2

den Befehl:

bufdo s/string/replacement/g

bufdo: Wirkung auf allen Puffern.
s: Ersetzen
g: global.

-1

können Sie den Befehl Modus verwenden. % s/(Findstring)/(ReplaceString)

+0

, die nur in einer Datei ersetzen wird. Die Frage besteht darin, Zeichenfolgen in allen geöffneten Dateien gleichzeitig zu ersetzen. – JJJ

4

Wenn Ihr Vim ist aktuell genug können Sie den :cdo Befehl verwenden:

:vimgrep main {1,2,3}.cpp 
:cwindow 
:cdo s/foo/bar/g 
Verwandte Themen