# Bewegung H linke obere Ecke des Bildschirmfensters M Anfang der Zeile in der Mitte des Bildschirms L Cursor am Bildschirmende positionieren # Insert/Replace Modus I am Anfang der Zeile einfuegen s Zeichen unter dem Cursor ersetzen und in insert Modus wechseln S Zeile ersetzen # Befehle :n zu Zeile Nummer n springen :se nu/nonu Zeilennummern anzeigen/ausblenden (set numbers/nonumbers) :n,m# Zeile n bis Zeile m mit Zeilennummern anzeigen :se ai/noai Zeilen (nicht) automatisch einruecken (set autoindent/noautoindent) :noh Schaltet die Hervorhebung von Suchergebnissen ab :g/^$/d alle Leerzeilen loeschen :g/^_*$/d alle Zeilen loeschen, die entweder leer sind oder nur Leerzeichen enthalten (_=Leer) :f zeige Name und Status des aktuellen Files an # Text kopieren & verschieben nyy/nY Aktuelle oder n Zeilen in den Buffer kopieren "xnyy/xnY Aktuelle oder n Zeilen in Buffer x kopieren :%s///g Ersetze in der ganzen Datei pat durch str # Zeichen loeschen :%s/^//g Erste Zeichen loeschen :%s/.$//g Letzte Zeichen loeschen # Zeilen loeschen :[range]g[lobal]/{pattern}/[Befehl] :g//d Loescht alle Zeilen in der pat vorkommt :g// Zeigt alle Zeilen an, in der pat vorkommt :g!//d Loescht alle Zeilen in der pat _nicht_ vorkommt :g/^\s*$/d Loescht alle Leerzeilen :g/^$/d Loescht alle Leerzeilen # Zeilen sortieren :%!sort Sortiert nach Buchstaben (s. man sort) :%!sort -n Sortiert nach Zahlen (s. man sort) # Mit mehreren Dateien arbeiten :e filename Eine Datei in einem neuen Buffer editieren :bnext (or :bn) Gehe zum naechsten Buffer :bprev (of :bp) Gehe zun vorigen Buffer :bd Einen Buffer schliessen :sp filename Eine neue Datei oeffen und das Fenster horizontal splitten :vs filename Eine neue Datei oeffen und das Fenster vertikal splitten ctrl+ws Ein Fenster horizontal splitten ctrl+wv Ein Fenster vertikal splitten ctrl+ww Zwischen den Fenstern umschalten ctrl+wq Ein Fenster verlassen # Einzelne Buchstaben umschlaten klein <-> gross ~~ # Macros 1. q Starte Macro Aufzeichnung, wird unter gespeichert 2. q Ende Macro Aufzeichnung 3. @ Macro aufrufen @@ gleiches Macro nochmal aufrufen @ Macro -mal ausführen :reg Macro ansehen :map zeigt alle definierten Makros an :map definiert ein Makro :unm loescht ein Makro Beispiel: legt "Mit freundlichen Grüßen" auf das Makro fg :map fg iMit freundlichen Grüßen danach kann man im KommandoModus einfach fg eingeben und erhaelt "Mit freundichen Grüßen" # Textbloecke markieren --> innerhalb des _markierten_ Blocks kann dann der Text manipuliert werden v Einzelne Zeichen markieren V Einzelne Zeilen markieren Ctrl-V Blockweise Markierung auswaehlen Eingabe von Steuerzeichen: -> gibt ein -> ^[ # vimrc # durch Eingabe von F8 -> fuegt Datum und Text ein map! =strftime('# %d.%m.%Y - Mustermann - ')