Vim Editor Kurzreferenz
(GFDL, Winfried Mueller, www.reintechnisch.de, Start: 15.03.2004, Stand 16.12.2004)
Vim für Faule - Minimalistischer Befehlsvorrat
Befehlsmodus
| Kommando | Beschreibung |
| i | Insertmodus, damit kann man editieren |
| Cursortasten | navigieren |
| h, j, k, l | navigieren, wenn Cursortasten tod sind |
| G | letzte Zeile Dokument |
| nG | gehe zu Zeile n |
| dd | Zeile löschen (in Zwischenablage) |
| yy | Zeile in Zwischenablage |
| nyy | n Zeilen in Zwischenablage |
| p | Zwischenablage einfügen unterhalb |
| /Muster | Suche nach Muster |
| n | Suche wiederholen |
| set ic | Umschalten Suche "ignore case" |
| set noic | Umschalten Suche case sensitiv |
| :1,$s/from/to/gc | Ersetze from nach to im ganzen Dokument mit Nachfrage |
| Strg+G | Aktuelle Zeilennummer und Dateiname anzeigen |
| :n | Nächste Datei bearbeiten |
| :rew | Vorherige Datei bearbeiten |
| :w | Datei speichern |
| :q | Editor verlassen |
| u | Undo |
| . | letzte Änderung wiederholen |
Editiermodus
| Kommando | Beschreibung |
| ESC | zurück in Befehlsmodus |
| Cursortasten | navigieren |
Vim Auführlicher
Navigieren
| Kommando | Beschreibung |
| Cursortasten | navigieren |
| h, j, k, l | navigieren, wenn Cursortasten tod sind |
| 1G | erstes Zeile Dokument |
| G | letzte Zeile Dokument |
| nG | Gehe zu Zeile n (Bsp: 20G) |
| 0 | erstes Zeichen Zeile, wie Pos1 |
| $ | letztes Zeichen Zeile |
| w | Nächstes Wort. Anfang des Wortes. (auch W) |
| b | Vorheriges Wort. Anfang des Wortes. (auch B) |
| e | Nächstes Wort, Wortende. (auch E) |
| ) | Nächster Satz. |
| ( | Vorheriger Satz. |
| } | Nächster Absatz. |
| { | Vorheriger Absatz. |
| Return | Erstes nichtleeres Zeichen nächste Zeile |
| n| | Spalte n aktuelle Zeile |
| Strg-F/Page-Down | Seite vorwärts. |
| Strg-B/Page-Up | Seite rückwärts. |
Suchen und Ersetzen
| /Muster | Suche nach Muster |
| ?Muster | Suche nach Muster rückwärts |
| n | letzte Suche wiederholen |
| % | Passende Klammer suchen |
| :s/from/to/ | Ersetze erstes Auftreten von from in Zeile |
| :s/from/to/g | (g=global) Ersetze alle from durch to in Zeile |
| :x,y s/from/to/ | von x bis y, siehe auch Hinweise |
| :s/from/to/gic | g=global, i=ignorecase, c=nachfragen |
| :1,$s/from/to/gc | Ersetze from nach to im ganzen Dokument mit Nachfrage |
Markierungen
| mx | (x=a..z), Setze Markierung x |
| 'x | Gehe zu Markierung x, Zeilenanfang |
| `x | Gehe zu Markierung |
Löschen und Zwischenablage
| x | Zeichen löschen |
| nx | n Zeichen nach rechts löschen |
| nX | n Zeichen nach links löschen |
| dd | aktuelle Zeile löschen |
| ndd | n Zeilen löschen |
| d/Muster | Löschen bis Muster |
| dw | Löschen Wort |
| D | Rest der aktuellen Zeile löschen |
| d^ | Löschen bis Zeilenanfang |
| dG | Löschen bis Datei Ende |
| "xdd | Zeile löschen und in Puffer x |
| p | Zwischenablage einfügen unterhalb |
| P | Zwischenablage einfügen oberhalb |
| "xp | Inhalt von Puffer x einfügen |
| yy | Zeile in Zwischenablage |
| nyy | n Zeilen in Zwischenablage |
| yw | Wort in Zwischenablage |
| y$ | Rest der Zeile in Zwischenablage |
| "xyy | Zeile in Zwischenpuffer x kopieren |
Moduswechsel
| i | Edit vor dem Cursor |
| A | Anhängen Zeilenende |
| o | Neue Zeile unter der Aktuellen. |
| O | Neue Zeile über den Aktuellen |
| C | Ändere bis Zeilenende |
| cw | Ändere Wort |
| cc | Ändere aktuelle Zeile |
| s | (substitute) Zeichen löschen und in insert Modus |
| S | (substitute line) Zeile löschen und insert Modus |
Speichern und Beenden
| Kommando | Beschreibung |
| :w | abspeichern |
| :q | verlassen |
| :q! | verlassen, Änderungen verwerfen |
| :wq | speichern & verlassen |
| :x | speichern wenn nötig und verlassen |
| :w Datei | Datei unter neuem Namen speichern |
| :w! | speichern, auch wenn Schreibschutz |
| % | aktueller Dateiname, z.B. :w %.old |
Arbeiten mit mehreren Dateien
| Kommando | Beschreibung |
| :n | Nächste Datei bearbeiten |
| :rew | Vorherige Datei bearbeiten |
| :n Dateien | Neue Liste von Dateien angeben, die editiert werden sollen |
| :args oder :ar | Liste der editierten Dateien anzeigen |
Shellinteraktion
| Kommando | Beschreibung |
| :r Datei | Datei an Cursorposition einfügen |
| :r !Befehl | Befehlsausgabe einfügen |
| :! | Befehl ausführen und zurückkehren |
| n1,n2!Befehl | Zeilen an Befehl senden und durch Ausgabe ersetzen |
| n!!Befehl | Nächste n Zeilen an Befehl und durch Ausgabe ersetzen |
| strg-z | Editor in Hintergrund, wiederholen mit fg |
Sonstiges
| u | Undo |
| Strg-G | Dateinamen und Zeilennummer anzeigen |
| . | letzte Änderung wiederholen |
| ~ | Groß/Kleinschreibung umdrehen |
| J | (join) Aktuelle Zeile mit folgender vereinen |
| >> | Zeile nach rechts schieben |
| << | Zeile nach links schieben |
| n<< oder n>> | n Zeilen nach links/rechts schieben |
| >'x oder <'x | Zeilen bis Label x nach rechts/links schieben |
| >} oder <} | bis zum Absatzende nach rechts/links schieben |
| % | Sprung zwischen Klammerpaar, wenn man auf Klammer steht |
Möglichkeiten im Editiermodus
| Kommando | Beschreibung |
| ESC | zurück in Befehlsmodus |
| Cursortasten | navigieren |
Ex-Befehle (:Befehle)
| Kommando | Beschreibung |
| :ab Abk String | Abk wird beim tippen immer durch String ersetzt. |
| :set all | Alle gesetzten Optionen anzeigen |
| :set ai | autoindent |
| :set ic | ignorecase für Suche |
| :set sw=n | shiftwidth Anzahl Spaces bei >> und << Befehlen |
| :set ts=n | tabstop festlegen |
| :syntax on | Syntax Highlighting einschalten |
| :help | Eingebaute Hilfe |
| :set mouse=a | Mausunterstützung einschalten |
Konfigurations-Dateien
- in Konfigurationsdateien werden hauptsächlich set-Befehle eingebunden, um das Verhalten des Editors anzupassen. Es ist jedoch auch noch viel mehr möglich, Vim hat eine mächtige Konfigurationssprache mit bedingten Verzweigungen.
- ~/.vimrc - hier kann jeder Benutzer persönliche Anpassungen vornehmen.
- /etc/vimrc - für globale Einstellungen für alle Benuzter
- Alles hinter doppelten Anführungsstrichen ist Kommentar (gewöhnungsbedürftig)
Aufruf in der Shell
- Start mit einer Datei
vi datei
- Start mit mehreren Dateien
vi datei1 datei2 ...
- Start mit einer Datei, Positionierung auf Zeile n
vi +n datei
- Start von vim, wenn dieser nicht der Standard-Editor ist
vim datei
- Start des vim auf grafischer Benutzeroberfläche
gvim datei
Hinweise
- um bei ex-Befehlen (:Befehle) Zeilenbereiche anzugeben, gibt es folgende Möglichkeiten:
- x,y als numerischer Wert bezeichnet die Zeilennummer
- $ steht für letzte Zeile
- % steht für alle Zeilen einer Datei
- 'a,'b von Label a bis Label b
- ohne Angabe wird die aktuelle Zeile verwendet
- x, x-n von x bis x-n, auch x+n ist möglich
- /Muster/ vorwärts bis zur nächsten Zeile, die Muster enthält
- ?Muster? rückwärts bis zur Zeile, die Muster enthält
- mit :set option schaltet man eine Option ein mit :set nooption wieder aus, z.B. :set ic oder :set noic
Links