Vim greplace

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

Greplace - Text in mehreren Dateien suchen und ersetzen

Bei umzug auf einen neuen Server mussten in allen apache configs die IP Adressen ausgewechselt werden. Dabei bin ich auf das sehr nützliche plugin für vim gestossen. Hier eine kleine vorgehensweise:

Beispiel:

  1. Download von der Seite
    http://www.vim.org/scripts/script.php?script_id=1813
  2. Entpacken nach $HOME/.vim/
  3. ins Apache sites Verzeichnis wechseln und vim starten
  4.  :Gsearch 2001:6f8:1209::1 *.conf
  5. Shift+V und alle zeilen markieren die man Ändern will und ':` Drücken
  6.  :'<,'>s/2001:6f8:1209::1/2001:6f8:1209:f0:216:3eff:fe03:a7/
  7.  :Greplace aufrufen und einzeln (y) oder global (a) bestätigen
  8.  :wall (alles speichern)
  9.  :qall (alles beenden)

Übrigens es geht auch mit sed, analog zu oben:

  1. cd /etc/apache/sites-enabled
  2. sed -e 's/2001:6f8:1209::1/2001:6f8:1209:f0:216:3eff:fe03:a7/' -i *.conf

Ein Nachteil ist nur das man hier die Zeilen nicht einzeln auswählen kann.