Begriffe im Text ersetzen

Aus Bluelupo's Wiki
Version vom 16. März 2017, 22:18 Uhr von Bluelupo (Diskussion | Beiträge) (Artikel erweitert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Zurück zur Kategorieübersicht Vim HowTo


Allgemein gilt bei Spalten: im "Suchteil" (%s) müssen alle Spaltenkriterien angegeben werden. Im "Einfügungsteil" (Pufferinhalt) können alle Teile, müssen aber nicht, eingefügt werden.

%s/KRITERIUM1TRENNER1KRITERIUM2TRENNER2/\1TRENNER1\2TRENNER2/


Aufruf Details
Allgemeine Form Beispiel Erklärung des Befehls Bemerkungen
ESC: %s/alt/neu/g ersetzt den Text "alt" durch "neu" in der ganzen Datei
ESC: %s/alt/neu/gc ersetzt den Text "alt" durch "neu" in der ganzen Datei mit Rückfrage bei jeden Treffer
ESC: %s/^M//g ersetzt das DOS-Carrige-Return (^M) durch nichts (Eingabe %s/CTRL-V CTRL-M//g)
ESC: %s/^/# /g ersetze Zeilenanfang durch einen '# ' (Kommentarzeile in Shellscripts)
ESC: %s/\n//g sämtliche Zeilenschaltung entfernen, d.h. eine einzige zusammenhägende Zeile entsteht
ESC: 1,5s/$/ # Dies ist ein Hinweis/g in Zeile 1 bis 5 ans Ende jeder Zeile einen Kommentar (# Dies ist Hinweis) anfügen
ESC: 1,55s/alt/neu/g ersetze im Bereich von Zeile 1 bis 55 den Text "alt" durch "neu"
ESC: .,$s/alt/neu/g ersetze ab aktueller Cursorposition bis Dateiende den Text "alt" durch "neu"
ESC: .,+10s/alt/neu/g ersetze ab aktueller Zeile und die darauf folgenden 10 Zeilen den Text "alt" durch "neu"
ESC: %s/^ \{1,\}\(.*\)/^I\1/ sucht alle Leerzeichen am Anfang einer Zeile und ersetzt sie durch genau einen TAB (^I = Tabulatortaste einmal drücken)
ESC: %s/\(.*\)#\(.*\)/\2#\1/ dreht zwei Spalten, getrennt durch einen Spaltentrenner (hier "#"), um
ESC: %s/ *\(.*\)/\1/ löscht zwei oder mehrere Leerzeichen
ESC: %s/\(.*\) *$/\1/ alle Leerzeichen am Ende einer Zeile löschen (evtl. mehrmals ausführen)
ESC: %s/\(.*#\)/ erste Spalte löschen (Spaltentrenner hier "#" bei zwei Spalten)
ESC: .,$s/,/[CTRL-V][CTRL-M]/g ersetzt angegebenes Zeichen ab Cursorposition durch Zeilenschaltung (horizontal Anordnung in Spaltenanordnung umändern)
ESC: %s/\s\{2,\}//g ersetzt alle Leerräume (\s) die zwei Zeichen oder mehr lang sind durch nichts, d.h. sie werden gelöscht
ESC: g/.*$/,/\(^\|[^+]\)$/j jede zweite Zeile zusammenfügen