vi oder nicht...
Wie viele andere Entscheidungen in der Open-Source-Welt, ist auch die Wahl des Programms zum Schreiben von Texten oder Code mehr als nur die Wahl eines Werkzeuges. Sie ist Ausdruck einer Philosophie, manchmal auch Ideologie, bei der es nur "richtig" oder "falsch" geben kann ;-o
Folglich werde ich mich hüten, irgendeine Wertung oder gar Präferenz auszusprechen... Tatsache ist aber, dass es unter den sogenannten Editoren zwei große Gruppen gibt, nämlich die Emacs- und die vi-Benutzer.
Auf der Suche nach dem richtigen Editor möchte ich hier lediglich eine kurze Referenz über die nicht immer intuitiv zu bedienenden Tastenkombinationen meines Favoriten geben.
| Anfang und Ende |
vim | vim in der Kommandozeile starten |
:q | vim beenden |
| Umgang mit Dateien |
:edit | Datei öffnen |
:w | aktuelle Datei speichern |
:wa | alle offenen Dateien speichern |
:r | Inhalt einer anderen Datei einfügen |
:w | aktuelle Datei unter neuem Namen speichern |
| Hilfe |
:help | alle Hilfe-Optionen zeigen |
:help zeichen | alle Funktionen mit dieser Zeichenfolge zeigen |
:help tasten | die Funktion zu dieser Tastenkombination zeigen |
:help funktion | die Funktion beschreiben |
:help modus | den aktuellen Modus beschreiben |
:q | Hilfe-Fenster entfernen |
| "Notmaßnahmen" |
C-c | Vorgang unterbrechen |
u | letzten Befehl rückgängig machen |
M | Cursor-Position zur Mitte der Bildschirmanzeige machen |
| Suchen |
/ | vorwärts suchen |
? | rückwärts suchen |
| Cursorbewegungen |
h | ein Zeichen zurück |
l | ein Zeichen vor |
b | ein Wort zurück |
w | ein Wort vor |
k | eine Zeile zurück |
j | eine Zeile vor |
0 | zum Zeilenanfang |
$ | zum Zeilenende |
( | zum Satzanfang |
) | zum Satzende |
gg | zum Dateianfang |
G | zum Dateiende |
C-f | scrollt eine Bildschirmseite nach unten |
C-b | scrollt eine Bildschirmseite nach oben |
| Text löschen |
x | Zeichen löschen |
diw | Wort löschen |
d$ | Zeile bis zum Ende löschen |
dG | Datei bis zum Ende löschen |
dgg | Datei bis zum Anfang löschen |
| Ersetzen |
R | interaktiv ersetzen |
:s/foo/bar/ | regulären Ausdruck in der Zeile ersetzen |
:%s/foo/bar/g | regulären Ausdruck in der ganzen Datei ersetzen |
:%s/foo/bar/gc | vor dem Ersetzen nachfragen |
| Optionen während dieses Vorgangs: |
y | ersetzen |
n | nicht ersetzen und zum nächsten Treffer gehen |
a | ersetzen und dann alle bleibenden Treffer ersetzen |
q | nicht ersetzen und dann den Vorgang beenden |
| Umgang mit mehreren Fenstern |
:only | alle Fenster außer dem mit dem Cursor unsichtbar |
:split | Fenster vertikal teilen |
:vsplit | Fenster horizontal teilen |
C-w | in anderes Fenster wechseln |
| Groß-/Kleinschreibung |
gUw | Wort in Großbuchstaben |
guw | Wort in Kleinbuchstaben |
gUU | Zeile in Großbuchstaben |
guu | Zeile in Kleinbuchstaben |
| Buffer |
:buffer nr | anderen Buffer auswählen |
ls | alle Buffer anzeigen |
:bdelete nr | Buffer löschen |
| Shell-Kommandos |
:!kommando | Shell-Kommando ausführen |
:.!kommando | Shell-Kommando für Zeile ausführen |
| Tastatur-Makros |
:map | Makro-Definition |
|