************************************** * VIM - Befehle und Tastatenbelegung * ************************************** Navigation ------------------- h,l,j,k Cursor links, rechts, runter, rauf w Nächster Wortanfang W Nächster WORD-Anfang (durch Blank abgegrenzt) e Nächstes Wortende E Nächstes WORD-Ende b Vorheriger Wortanfang B Vorheriger WORD-Anfang ge Vorheriges Wortende 0 Zeilenanfang ^ Erstes Zeichen der Zeile $ Zeilenende ) Nächster Satzanfang ( Vorheriger Satzanfang } Nächstes Absatzende { Vorheriger Absatzanfang + Erstes Zeichen der nächsten Zeile - Erstes Zeichen der vorherigen Zeile % Zugehörige Klammer gg Dateianfang G Dateiende G Zeile H Erste Bildschirmzeile M Bildschirmmitte L Letzte Bildschirmzeile C-f Bildschirmseite runter C-b Bildschirmseite hoch C-d Halbe Bildschirmseite runter C-u Halbe Bildschirmseite hoch []zt aktuelle Zeile auf Bildschirmzeile scrollen []zb aktuelle Zeile auf t-lezte Bildschirmzeile scrollen zz aktuelle Zeile auf Bildschirmmitte scrollen Textobjekt-Selektion für Befehle -------------------------------------------- oder: a|i w|W|s|p|(|)|b|[|]|<|>|{|}|B a Äußeres Objekt (inkl. Klammern, etc.) i Inneres Objekt (ohne Klammern und Leerraum) w Wort W WORD s Satz p Absatz ( ) b () - Klammerblock [ ] [] - Klammerblock < > <> - Klammerblock { } B {} - Klammerblock Textselektion im Visual mode ---------------------------- v zeichenorientiert V zeilenorientiert C-v rechteckorientiert Suche ----- / Vorwärtssuche nach ? Rückwärtssuche nach n nächster Treffer in gleicher Richtung N nächster Treffer in anderer Richtung Bereiche -------- ::= % (ganze Datei) | , (von Zeile s bis Zeile e) | ; (n Zeilen ab Zeile s ::= n (Zeile Nummer n) | . (aktuelle Zeile) | $ Letzte Zeile in Datei | /pattern Nächste Zeile, in der string vorkommt Wechsel in Eingabemodus ----------------------- i Text vor der aktuellen Position einfügen I Text am Zeilenanfang (erstes Nicht-Blank) einfügen a Text nach der aktuellen Position einfügen A Text am Ende der aktuellen Zeile einfügen R Text ab aktueller Position überschreiben o Neue Zeile nach der aktuellen erzeugen O Neue Zeile vor der aktuellen erzeugen s Aktuelles Zeichen löschen, dann insert S Aktuelle Zeile löschen, dann insert Tasten im Eingabemodus ---------------------- C-w letztes Wort löschen C-p Wort vervollständigen C-t Zeile einrücken C-d Zeile Ausrücken ESC Eingabemodus verlassen Befehle ------- [count]command command count-mal ausführen (default: 1) u Letzten Befehl rückgängig machen U Undo der aktuellen Zeile x Zeichen unter Cursor löschen X Zeichen vor Cursor löschen d Löschen bis zur Position dd Aktuelle Zeile löschen D Von Cursor bis zum Zeilenende löschen y Kopieren in Default-Puffer bis yy Kopieren der aktuellen Zeile c Ersetzen (Löschen und Eingabe) bis cc Aktuelle Zeile ersetzen C Vom Cursor bis zum Zeilenende ersetzen p Default-Puffer nach Cursor einfügen (von d oder y) P Default-Puffer vor Cursor einfügen . Wiederholung des letzten d oder c J Verbindet die aktuelle mit der nächsten Zeile r Ersetzt das aktuelle Zeichen durch ~ Ändert Groß/Kleinschreibung des akt. Zeichens q q Makro namens aufzeichnen @ Makro namens aufrufen :[range] s/from/to/[g][c] in range (default: aktuelle Zeile) erstes from durch to ersetzen; g=alle Vorkommen ersetzen; c=mit Bestätigung :[range] g[!]/pattern/command in range (default: ges. Datei) command in Zeilen ausführen, die pattern (! = nicht) erfüllen ! Filtern bis durch Textfaltung ----------- zf Faltung erzeugen zo Faltung öffnen zc Faltung schließen zr sichtbare Faltungstiefe erhöhen zR alle Faltungen sichtbar machen zm sichtbare Faltungstiefe verringern zM alle Faltungen einklappen zn Faltungsmodus ausschalten zN Faltungsmodus einschalten zi Faltungsmodus umschalten :set foldmethod Methode setzen (indent, marker, syntax) Markierungen ------------ m Setzt Markierung namens ' Springt zur Markierung :marks Zeigt alle Markierungen an Dateikommandos -------------- :q Beenden :q! Beenden ohne Speichern :x ZZ Speichern und Beenden :w Speichern Fenster ------- :split Aktuelles Fenster teilen :split in neuem Fenster öffnen :new Neuen Buffer in neuem Fenster öffnen :sview :split und :view C-w w Nächstes Fenster selektieren (zyklisch) C-w j Ein Fenster nach unten C-w k Ein Fenster nach oben C-w + Fenster um Zeilen vergrößern C-w - Fenster um Zeilen verkleinern C-w _ Fenstergröße auf Zeilen setzen (ohne : maximal) C-w = Alle Fenster gleichgroß