### VIM Cheat Sheet #### .vimrc -------------------- set hidden set mouse=r set number (set nu) # Zeilennummern einschalten set relativenumber (set rnu) # relative Zeilennummern!!!!) set relativenumber number (set rnu nu) # beides set ruler set nocp filetype plugin on set background=dark hi Comment cterm=italic ctermfg=69 gui=italic guifg=#5d6eff hi Constant ctermfg=172 hi Function ctermfg=9 -------------------- Buffers -------------------------------------------------------------------------------- $ vi file1.txt file2.txt -> file1.txt ist jetzt im buffer :bnext -> file2.txt ist jetzt im buffer :bprevious -> file.txt :ls Buffers anzeigen :vertical ball # Alle Buffers in Vertical Windows anzeigen Split -------------------------------------------------------------------------------- $ vi file1.txt :split file2.txt -> Vim zeigt jetzt beide übereinander an! :vsplit file3.txt -> vim splitet nun vertikal 2 buffer nebeneinander CTRL-w h left CTRL-w j unten CTRL-w k oben CTRL-w rechts Files öffnen -------------------------------------------------------------------------------- :edit /pfad/zur/datei.txt :find vim1.txt -> jetzt sind zwei buffer offen :edit . ../ ./ bla vim1.txt vim2.txt :Explore Filemanager im momentanen buffer :Sexplore Filemanager im neuen horizontalen Buffer :Vexplore Filemanager im neuen vertikalen Buffer Grammar -------------------------------------------------------------------------------- h Left j Down k Up l Right w Beginning next Word } Jump to next paragraph (Abschnitt) gj Eine Zeile hoch bei einer langen Zeile gk Eine Zeile runter bei einer langen Zeile 0 Anfang der Zeile $ Ende der Zeile % Gehe zur nächsten Klammer. Nützlich beim Programmieren (){}[] H Top of Screen M Medium of Screen L Bottom of Screen i auf dem Curser schreiben a nach dem Cursor einfügen o eine Zeile unter dem Curser schreiben O eine Zeile oberhalb des Cursors schreiben 80i 80 zeichen wiederholen ( 10i-ESC = ---------- ) y yank text (copy) d delete dt' alles bis zum ' löschen df' alles bis und mit ' löschen c delete save insert y$ yank bis ende Zeile y5l yank 5 Characters vom Curser nach rechts yt( alles bis zur Klammer kopieren d2w lösche 2 wörter c2j ändere die nächsten zwei zeilen Diverses -------------------------------------------------------------------------------- Auskommentieren CTRL-q alles markieren (cursor oder hjkl) SHIFT-i # ESC (zwei sekunden warten) Auskomm löschen CTRL-q alles markieren (cursor oder hjkl) x :5,12s/^/# / Zeilen 5-12 start mit '# ' ersetzen :5,12s/# // wieder löschen :undo (u) Undo :redo (CTRL-R)