Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Vim Tastenbelegung tabellarisch

Tipp Linux Linux Tools

Mitglied: 64748

64748 (Level 2)

21.08.2013, aktualisiert 31.08.2013, 7447 Aufrufe, 11 Kommentare, 11 Danke

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.


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
Mitglied: Frank
21.08.2013, aktualisiert 22.08.2013
Hi Markus,

da ich "vim" täglich nutze, eine dickes Lob und vielen Dank

Gruß
Frank
Bitte warten ..
Mitglied: maretz
22.08.2013 um 09:55 Uhr
was ich noch viel nutze ist z.B.

20dd -> lösche von der aktuellen zeile aus diese und die nächsten 20 zeilen (geht natürlich auch mit anderen Nummern…)
Bitte warten ..
Mitglied: 64748
22.08.2013 um 20:20 Uhr
Zitat von maretz:
was ich noch viel nutze ist z.B.

20dd -> lösche von der aktuellen zeile aus diese und die nächsten 20 zeilen (geht natürlich auch mit anderen
Nummern…)

Danke für den Hinweis, das dd werde ich in die Tabelle einarbeiten.

Solche Features wie die Tatsache, dass man fast jedem Kommando eine beliebige Zahl als Parameter für die Anzahl der Wiederholungen voranstellen kann, gehören eher in ein Tutorial. Daher der Verweis auf vimtutor, jemand der völlig ungeübt ist, wird mit der Befehlstabelle nichts anfangen können.

Markus
Bitte warten ..
Mitglied: Alchimedes
28.08.2013 um 21:48 Uhr
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
Bitte warten ..
Mitglied: 64748
30.08.2013 um 17:50 Uhr
Hallo Alchimedes,
Zitat von Alchimedes:
.....
Super Post !!
danke, freut mich, dass es Dir gefällt und hilfreich ist.
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 werde mir das überlegen. Wie gesagt ist es nicht als Tutorial aufzufassen (jedenfalls hab ich es nicht so vorgesehen) weil man m.E. einige Grundkenntnisse braucht um die Tabelle zu nutzen.
...
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.
Ich werde das oben einarbeiten wenn ich ein bisschen Zeit habe, hier schonmal soviel: die Tastaturbelegung wird auf der Kommandozeile (also ohne X-Window) mit der aus /usr/share/kbd/keymaps/i386/qwertz/ geladenen Datei festgelegt, das findet beim Systemstart statt und wo genau der Befehl dazu steht ist distributionsabhängig.
Wenn man X-Window benutzt, dann muss man (auf aktuellen Systemen) die Datei /etc/X11/xorg.conf.d/90-keyboard-layout.conf bearbeiten, wenn diese nicht existiert kann man sie aus /usr/share/X11/xorg.conf.d/ rüber kopieren. Die dort eingestellte Tastaturbelegung ist Systemweit gültig (wenn man es nicht anders konfiguriert).

Markus
Bitte warten ..
Mitglied: Alchimedes
31.08.2013, aktualisiert um 22:17 Uhr
Hallo Markus ,

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
Bitte warten ..
Mitglied: 64748
31.08.2013 um 22:29 Uhr
Hallo,

G fehlte in der Tat, ich hab es ergänzt. Das anderen sind ja zusammengesetzte Kommandos, wenn man die bei Vim alle aufzählen will muss man mehrere Bücher veröffentlichen. Daher der Tipp vimtutor durchzuarbeiten.

Zu Deiner Frage: die Tastenbelegungen sind von der Shell unabhängig.

Markus
Bitte warten ..
Mitglied: broecker
04.09.2013, aktualisiert um 21:10 Uhr
Automatisches Suchen und Ersetzen im ganzen Text oder Zeilenbereich nutze ich häufig: :%s/henne/ei/g oder auch :VON,BISs/henne/ei/g - auch schon zusammengesetzt
HG
Mark
Bitte warten ..
Mitglied: Alchimedes
10.09.2013, aktualisiert um 23:55 Uhr
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

Hallo das ist ein test
:x!

vim test

Hallo das ist ein test ( befinden uns im Komandomodus )
/%/Hallo/Hello/g
( Enter.... es passiert nichts... wo ist da der Denkfehler ? )

Gruss
Bitte warten ..
Mitglied: 64748
11.09.2013 um 05:07 Uhr
Zitat von Alchimedes:
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

> Hallo das ist ein test
> :x!

vim test

> Hallo das ist ein test ( befinden uns im Komandomodus )
> /%/Hallo/Hello/g
( Enter.... es passiert nichts... wo ist da der Denkfehler ? )

Gruss
Um das nochmal klar zu stellen: Suche mit / und ersetzten geht mit : (beides im Kommandomodus).

% bei der Suche bedeutet "alle Zeilen", sonst n,m für "Zeile n bis m", dabei ist n,$ "von n bis zum Dateiende", also
:51,$s/Hallo/Hello/ 
ersetzt jeweils das erste Vorkommen in der Zeile von Zeile 51 bis zum Dateiende.

Markus
Bitte warten ..
Mitglied: Alchimedes
12.09.2013 um 17:42 Uhr
Hallo Markus ,

Danke fuer den Hinweis !

Ich Schussel....

Gruss
Bitte warten ..
Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 3 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 5 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...