64748
21.08.2013, aktualisiert am 31.08.2013
12563
11
7
Vim Tastenbelegung tabellarisch
Alle Befehle in der Reihenfolge der deutschen Tastatur. Erklärungen in deutscher Sprache.
Die folgende Tabelle ist eher durch Zufall entstanden. Ich wollte mal ausprobieren, ob ich die meisten Vim/Vi Befehle kenne oder eher doch nicht. Deshalb hab ich sie der Reihe nach ausprobiert. Jetzt wo die Tabelle fertig ist, muss sie ja nicht nutzlos auf meinem Rechner liegen. Hier ist sie.
Die obige Tabelle ersetzt nicht das Lesen der Dokumentation! Ihr könnt auf der Kommandozeile das Programm vimtutor aufrufen, es bietet Euch ein Anfängertutorial. Wenn Ihr die Variable $LANG auf deutsch gesetzt habt (z.B. de_DE.utf8) ist es sogar auf Deutsch.
Hilfreich ist das vi vim Cheat Sheet.
Hinweise auf Fehler bitte hier posten oder per PN, die werde ich dann korrigieren.
Markus
Die folgende Tabelle ist eher durch Zufall entstanden. Ich wollte mal ausprobieren, ob ich die meisten Vim/Vi Befehle kenne oder eher doch nicht. Deshalb hab ich sie der Reihe nach ausprobiert. Jetzt wo die Tabelle fertig ist, muss sie ja nicht nutzlos auf meinem Rechner liegen. Hier ist sie.
Inhaltsverzeichnis
Nach Tastenfolge
Von links nach rechts zeilenweise (deutsches Tastaturlayout).Taste | Befehl |
---|---|
ESC | normal mode |
^ | gehe zum ersten Zeichen der aktuellen Zeile |
~ | Groß/Kleinschreibung umkehren (aktuelles Zeichen |
! | externen Befehl ausführen |
". | nächsten lösch oder yank Befehl speichere nach Puffer . |
". | Puffer . füge mit p wieder ein |
$ | gehe zum Zeilenende |
% | gehe zur matchenden Klammer |
& | wiederhole die letzte Ersetzung (:s/...) |
/string | suche vorwärts |
* | suche das nächste Vorkommen des aktuellen Wortes |
{ | gehe zum Beginn des aktuellen Absatzes |
( | gehe zum Beginn des aktuellen Satzes |
) | gehe zum Ende des aktuellen Satzes |
0 | gehe zum Anfang der Zeile |
} | gehe zum Ende des aktuellen Absatzes |
?string | suche rückwärts (string) |
q. | Makro aufzeichnen |
q | Makroaufzeichnung wieder stoppen |
Q | ex mode |
@. | Makro . abspielen |
w | nächstes wort (erkennt alle Nichtbuchstaben als Trenner) |
W | nächstes Wort (erkennt nur Whitespace als Trenner) |
e | Ende des worte (erkennt alle Nichtbuchstaben als Trenner) |
E | Ende des Wortes (erkennt nur Whitespace als Trenner) |
r. | ersetze mit . |
R | Ersetzungsmodus (spring weiter zum nächsten Zeichen) |
t. | vorwärts bis vor . |
T. | rückwärts bis hinter . |
ZZ | Verlassen (mit speichern) |
zt | scrolle aktuelle Zeile zur oberen Fensterkannte |
zb | scrolle aktuelle Zeile zur unteren Fensterkannte |
zz | scrolle aktuelle Zeile in die Fenstermitte |
u | rückgängig |
U | ganze Zeile wieder herstellen |
i | Einfügemodus |
I | Füge am Beginn der aktuellen Zeile ein |
o | einfügen in neue Zeile unterhalb |
O | einfügen in neue Zeile oberhalb |
p | Puffer hinter Cursor einfügen |
P | Puffer vor Cursor einfügen |
a | anfügen |
A | Anfügen am Zeilenende |
s | ersetze ab aktuellem Zeichen |
S | ersetze die aktuelle Zeile |
d... | lösche... |
dd | lösche die aktuelle Zeile |
D | lösche bis zum Zeilenende |
f | suche vorwärts nach Zeichen in dieser Zeile |
F | suche rückwärts nach Zeichen in dieser Zeile |
gg | gehe zum Dateianfang |
gf | öffne Datei(name) unter Cursor |
G | gehe zum Dateiende |
Zahl G | gehe zur Zeile "Zahl" |
h | ein Zeichen nach links |
H | gehe zur Fensteroberkante |
j | eine Zeile nach unten |
J | füge die aktuelle und die nächste Zeile zusammen |
k | eine Zeile nach oben |
K | Hilfe zum aktuellen Wort |
l | ein Zeichen nach rechts |
L | gehe zur Fensterunterkante |
# | suche weitere Vorkommen des aktuellen Wortes |
< | Einrückung rückgängig machen |
> | einrücken |
y... | speichere ... im Puffer |
Y | speichere ganze Zeile im Puffer |
x | lösche Zeichen unter dem Cursor |
X | Backspace |
c... | ändere... |
C | ändere bis zum Zeilenende |
v | Visual Mode einschalten |
V | Visual Mode zeilenweise |
b | gehe zum Beginn es vorigen Wortes |
B | gehe zum Beginn es vorigen Wortes (nur alphanumerisch) |
n | suche weiter vorwärts |
N | suche weiter rückwärts |
m. | Marke . setzen |
M | Cursor an den Anfang der mittleren Bildschirmzeile |
, | Umkehrung von f, F, t, T |
; | nach f oder F weitersuchen |
. | letzten Befehl wiederholen |
: | ex Kommando Modus |
Thematisch
Modus wechseln
ESC | normal mode |
Q | ex mode |
i | Einfügemodus |
I | Füge am Beginn der aktuellen Zeile ein |
o | einfügen in neue Zeile unterhalb |
O | einfügen in neue Zeile oberhalb |
a | anfügen |
A | Anfügen am Zeilenende |
v | Visual Mode einschalten |
V | Visual Mode zeilenweise |
: | ex Kommando Modus |
Cursorbewegung
^ | gehe zum ersten Zeichen der aktuellen Zeile |
$ | gehe zum Zeilenend e |
% | gehe zur matchenden Klammer |
{ | gehe zum Beginn des aktuellen Absatzes |
( | gehe zum Beginn des aktuellen Satzes |
) | gehe zum Ende des aktuellen Satzes |
0 | gehe zum Anfang der Zeile |
} | gehe zum Ende des aktuellen Absatzes |
w | nächstes wort (erkennt alle Nichtbuchstaben als Trenner) |
W | nächstes Wort (erkennt nur Whitespace als Trenner) |
e | Ende des worte (erkennt alle Nichtbuchstaben als Trenner) |
E | Ende des Wortes (erkennt nur Whitespace als Trenner) |
t. | vorwärts bis vor . |
T. | rückwärts bis hinter . |
zt | scrolle aktuelle Zeile zur oberen Fensterkannte |
zb | scrolle aktuelle Zeile zur unteren Fensterkannte |
zz | scrolle aktuelle Zeile in die Fenstermitte |
gg | gehe zum Dateianfang |
G | gehe zum Dateiende |
Zahl G | gehe zur Zeile "Zahl" |
h | ein Zeichen nach links |
H | gehe zur Fensteroberkante |
j | eine Zeile nach unten |
k | eine Zeile nach oben |
l | ein Zeichen nach rechts |
L | gehe zur Fensterunterkante |
b | gehe zum Beginn es vorigen Wortes |
B | gehe zum Beginn es vorigen Wortes (nur alphanumerisch) |
M | Cursor an den Anfang der mittleren Bildschirmzeile |
Löschen
d... | lösche... |
D | lösche bis zum Zeilenende |
x | lösche Zeichen unter dem Cursor |
X | Backspace |
Suchen
/string | suche vorwärts |
?string | suche rückwärts (string) |
* | suche das nächste Vorkommen des aktuellen Wortes |
f | suche vorwärts nach Zeichen in dieser Zeile |
F | suche rückwärts nach Zeichen in dieser Zeile |
, | Umkehrung von f, F, t, T |
# | suche weitere Vorkommen des aktuellen Wortes |
n | suche weiter vorwärts |
N | suche weiter rückwärts |
; | nach f oder F weitersuchen |
Speichern (arbeiten mit Puffern)
". | nächsten lösch oder yank Befehl speichere nach Puffer . |
". | Puffer . füge mit p wieder ein |
p | Puffer hinter Cursor einfügen |
P | Puffer vor Cursor einfügen |
y... | speichere ... im Puffer |
Y | speichere ganze Zeile im Puffer |
Ersetzen
~ | Groß/Kleinschreibung umkehren (aktuelles Zeichen) |
& | wiederhole die letzte Ersetzung (:s/...) |
r. | ersetze mit |
R | Ersetzungsmodus (spring weiter zum nächsten Zeichen) |
s | ersetze ab aktuellem Zeiche |
S | ersetze die aktuelle Zeile |
c... | ändere... |
C | ändere bis zum Zeilenende |
Sonstige
! | externen Befehl ausführen |
q. | Makro aufzeichnen |
q | Makroaufzeichnung wieder stoppen |
@. | Makro . abspielen |
ZZ | Verlassen (mit speichern) |
u | rückgängig |
U | ganze Zeile wieder herstellen |
gf | öffne Datei(name) unter Cursor |
J | füge die aktuelle und die nächste Zeile zusammen |
. | letzten Befehl wiederholen |
K | Hilfe zum aktuellen Wort |
< | Einrückung rückgängig machen |
> | einrücken |
m. | Marke . setzen |
Erklärungen
- Bei Zeichen gefolgt von '.' ist mit dem '.' irgendein Zeichen gemeint, also z.B. r. würde rZ bedeuten und meint, dass das Zeichen unter dem Cursor durch ein großes 'Z' ersetzt wird.
- Zeichen gefolgt von ... meint, dass hier eine Operation auf einem Bereich folgt, Beispiel: c3w bedeutet "ersetze die nächsten drei Wörter".
Die obige Tabelle ersetzt nicht das Lesen der Dokumentation! Ihr könnt auf der Kommandozeile das Programm vimtutor aufrufen, es bietet Euch ein Anfängertutorial. Wenn Ihr die Variable $LANG auf deutsch gesetzt habt (z.B. de_DE.utf8) ist es sogar auf Deutsch.
Hilfreich ist das vi vim Cheat Sheet.
Hinweise auf Fehler bitte hier posten oder per PN, die werde ich dann korrigieren.
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 214894
Url: https://administrator.de/contentid/214894
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
11 Kommentare
Neuester Kommentar
Hey Markus,
Super Post !!
das vi(m)tutoruial ist fuer den Anfaenger ein Supereinstieg.
Vieleicht waere es in Deinem Post fuer den Einsteiger noch hilfreich welche modi es bei vi(m) gibt und wie man da wieder rauskommt.
Ich weiss unter modus wechseln zu finden....das rafft der Einsteiger aber noch nicht.
Interessant ist ZZ das kannte ich noch nicht.... was ich nutze ist :x! standard hier waere :wq
aber ZZ ist schneller...
So hier mal schnell nen Terminal auf und ab geht es durch die Tastenbelegung.
ist die Befehlszeilenreferenz in allen Terminals gleich also sh, bash,dash(Ubuntu) , ksh , blafasel ?
denn bei denn Kommandozeilenbefehlen wissen wir das es nicht so ist.
Gruss
Super Post !!
das vi(m)tutoruial ist fuer den Anfaenger ein Supereinstieg.
Vieleicht waere es in Deinem Post fuer den Einsteiger noch hilfreich welche modi es bei vi(m) gibt und wie man da wieder rauskommt.
Ich weiss unter modus wechseln zu finden....das rafft der Einsteiger aber noch nicht.
Interessant ist ZZ das kannte ich noch nicht.... was ich nutze ist :x! standard hier waere :wq
aber ZZ ist schneller...
So hier mal schnell nen Terminal auf und ab geht es durch die Tastenbelegung.
ist die Befehlszeilenreferenz in allen Terminals gleich also sh, bash,dash(Ubuntu) , ksh , blafasel ?
denn bei denn Kommandozeilenbefehlen wissen wir das es nicht so ist.
Gruss
Hallo Markus ,
danke das Du Dir die Muehe machst !
Korrektur:
zur Info:
Die Kameraden hab ich auch noch gefunden...
G = fuer an die letzte Zeile des Dokuments springen.
!G = fuer an den Anfang des Dokuments springen
cw = aktuelles Wort ersetzen
dw = aktuelles Wort löschen (incl. angehängtem Leerzeichen)
de = aktuelles Wort löschen (über Zeile hinaus)
dl = Zeichen unter Cursor-Position löschen ( also wohl wie x )
dj = zwei Zeilen löschen (Cursor-Position ist 1. Zeile)
dk = zwei Zeilen löschen (Cursor-Position ist 2. Zeile)
Hau rein
danke das Du Dir die Muehe machst !
Korrektur:
ist die Befehlszeilenreferenz in allen Terminals gleich
ich meinte natuerlich nicht Terminals sondern shells....zur Info:
Die Kameraden hab ich auch noch gefunden...
G = fuer an die letzte Zeile des Dokuments springen.
!G = fuer an den Anfang des Dokuments springen
cw = aktuelles Wort ersetzen
dw = aktuelles Wort löschen (incl. angehängtem Leerzeichen)
de = aktuelles Wort löschen (über Zeile hinaus)
dl = Zeichen unter Cursor-Position löschen ( also wohl wie x )
dj = zwei Zeilen löschen (Cursor-Position ist 1. Zeile)
dk = zwei Zeilen löschen (Cursor-Position ist 2. Zeile)
Hau rein
Hallo Broecker ,
die sed Befehle funzen so nicht.... ich geh davon aus das ueber Du vi(m) -> / %s/henne/ei/g benutzt hast ?
Weil uber das Slashzeichen im Text suchen geht, aber ersetzen geht nicht...
also ins Terminal gekloppt:
vim test
vim test
Gruss
die sed Befehle funzen so nicht.... ich geh davon aus das ueber Du vi(m) -> / %s/henne/ei/g benutzt hast ?
Weil uber das Slashzeichen im Text suchen geht, aber ersetzen geht nicht...
also ins Terminal gekloppt:
vim test
Hallo das ist ein test
:x!
:x!
vim test
Hallo das ist ein test ( befinden uns im Komandomodus )
/%/Hallo/Hello/g
( Enter.... es passiert nichts... wo ist da der Denkfehler ? )/%/Hallo/Hello/g
Gruss