dotfiles/cheat-sheets/vim.md

4.2 KiB

Magit

  1. Öffne: + m
  2. Springe zu Hunk: Strg + N
  3. Stagen: S
  4. Commit-Message: CC
  5. schreiben und speichern: i und :w/CC

Buffer in Splits/Tabs öffnen

  • funktioniert mit Buffergator(Leader b) und ctrlp(Strg + F) <ENTER> öffne im aktueller Ansicht <C-V> öffne als vertikalen split <C-T> öffne als neuen tab <C-X> öffne als horizontalen Split(nur ctrlp)

NERDtree

m Menü i horizontaler Split s vertikaler Split

Übersicht Buffer

<Leader> b

Buffer auswählen

<C-t> neuer Buffer <C-l> nächster Buffer <C-h> letzter Buffer <C-q> schließt Buffer und wechselt vorherigen

Autovervollständigung von Klammern usw.

<Strg + P> Toggle on/off

NERDtree aufrufen

<F2>

Dateien verschieben

  • in NERDtree <m> a hinzufügen m move c copy r remove l ls

git interactives Staging

:G stage -p (alias stagep)

git Befehle

:G <befehl>

git als shell verlassen

gq

alles schließen (und speichern)

:qa(w)

Buffer "maximieren"

:on

Navigation

Strg + hjkl/Pfeiltasten Strg + W r swap bottom/top if split horizontally/Rotates the windows from right to left Strg + w HJKL Move current window to X and use the full height of the screen Strg + W Strg + W Wechselt zum nächsten Buffer

Buffer tauschen

Strg + W X

neuen leeren Split öffnen

Strg + W n

neuen Buffer öffnen

:e <name>

NERDtree rekursives expandieren von Ordner

<O>

alle Zeilen ab Cursor löschen

d Shift+G

Paste/No Paste

aktiveren: set paste deaktivieren: set nopaste

Insert

A hängt Text am Ende der Zeile an a setzt den Cursor an das Ende des Wortes i fügt vor dem Cursor ein o/O o=Zeile unterhalb einfügen, O Zeile oberhalb einfügen R ersetzt für jedes getippte Zeichen an vorhandenes r ersetzt das Zeichen unter dem Cursor s löscht Zeichen unter Cursor, geht in Insert-Mode A hängt Text am Ende der Zeile an a setzt den Cursor an das Ende des Wortes i fügt vor dem Cursor ein o/O "Buchstabe", o=Zeile unterhalb einfügen, O Zeile oberhalb einfügen R ersetzt für jedes getippte Zeichen an vorhandenes r ersetzt das Zeichen unter dem Cursor

Zeilen löschen/sortieren

  1. v gehe in Visual Mode
  2. markiere Text
  3. :sort (Sortiert) oder
  4. :sort u (Sortiert und löscht doppelte)

Löschen

rw/d3w entfernt das Wort vom Cursor an d$ entfernt Text bis Ende der Zeile de löscht Text bis Ende des Wortes dd/2dd löscht die ganze Zeile/2 ganze Zeilen cc löscht die ganze Zeile, geht in Insert-Mode D lösche bis zum Ende der Zeile

Cursor bewegen

3w bewegt den Cursor 3 Wörter vorwärts % Wenn Cursor auf Klammer wird zu der zweiten "Hälfte" gesprungen 3e bewegt den Cursor zum Ende des dritten Wortes G zur letzten Zeile gg zum Anfang der Datei w Wort vorwärts b Wort rückwärts $ Ende der Zeile ^ Anfang der Zeile fc Bewege Cursor zum nächsten Auftreten von c, innerhalb der Zeile

Sonstiges

:help <option> Gibt die Hilfe aus !<befehl> führt ein externes Kommando aus u undo/Zurück Strg +R Redo g~ Groß zu klein und umgekehrt und Cursor g~$ wie g~ für ganze Zeile

Ersetzen

s/search/replace/g Suchen und ersetzen; wirkt nur in der Zeile in der sich der Cursor befindet %s/search/replace/g(c) Suchen und ersetzen; wirkt in der ganzen Datei, das c zeigt für jede Ersetzung einen Auswahldialog an /suchbegriff Suche(von Vorne) mit ? statt / von hinten Strg +O Springt zur Stelle vor der Suche zurück n sucht nochmal nach dem Begriff r<n> Tauscht das Zeichen unter dem Cursor gegen das eingegebene aus ce <n>/c <zahl> Tauscht die Buchstaben bis zum Ende des Wortes gegen die Eingabe aus

Kopieren und Einfügen

  1. v gehe in Visual Mode
  2. markiere Text
  3. y kopieren
  4. gehe an Ziel
  5. p einfügen

ausschneiden und Einfügen

  1. d für den Bereich der ausgeschnitten werden soll
  2. gehe an Ziel
  3. p einfügen