Eclipse ist auf Dauer zu träge und Textmate gibt’s nicht für Linux – also: auf zum VIM!
Diese Tipps habe ich gefunden:
Coding
- CTRL-p aktiviert die Code-Completion
Visual Mode (Markierungen)
- v Markierung starten
- SHIFT-v zeilenweise markieren
- CTRL-v “Visual Block” Modus aktivieren
- c im aktiven visual Mode: ändert die Markierung
- x im aktiven visual Mode: löscht die Markierung
- > im aktiven visual Mode: Einrückung
- < im aktiven visual Mode: “Ausrückung”
- /\%V Ersetzen auf den markierten Bereich einschränken, z.B. ersetze Y durch X: :%s/\%VY/X/g
Editing
- J hängt die nächste Zeile an die aktuelle an
- qa beginnt die Aufzeichnung eines Macros in den a-Slot, q beendet
- @a gibt ein aufgezeichnetes Macro in Slot a wieder
- CTRL-n im Insertmode ergänzt ein Wort mit den nächsten Alternativen (wie Textmate ESC)
Navigation
- fa springt zum nächsten a in der Zeile
- Fa springt zum vorherigen a in der Zeile
- ; wiederholt fa oder Fa
- ma setzt die Sprungmarke a
- ‘a springt zur Zeile der Marke a
- `a springt zur Marke a
- ’’ oder `` zyklisch zum vorherigen Ort zurückgehen
Buffers
- :ls zeigt die aktuellen Buffers an
- :b3 aktiviert Buffer #3
- CTRL-^ wechselt zyklisch zwischen den letzten beiden aktiven Buffern
Tabs
- :tabnew öffnet einen neuen Tab
- :tabnew
neuen benannten Tab öffnen - gt wechselt zum linken Tab
- gT wechselt zum rechten Tab
Split-Winows
- CTRL-w s splittet das Fenster horizontal
- CTRL-w v splittet das Fenster vertikal
- CTRL-j springt in unteres Splitfenster (eigenes Mapping)
- CTRL-k springt in unteres Splitfenster (eigenes Mapping)
FuzzyFinder
- STRG+j öffnet die aktuell selektierte Datei horizontal in einem neuen Fenster
- STRG+k öffnet die aktuell selektierte Datei vertikal in einem neuen Fenster
- STRG+] öffnet die aktuell selektierte Datei in einem neuen Tab
- :ruby finder.rescan! Filebaum neu einlesen (Mapping auf \-r)
- \-t fuzzy-Filesuche
- \-b fuzzy-Buffersuche
vimdiff
vimdiff file1 file2
- dp – Änderungen des aktuellen Buffers in die andere Datei schreiben
- do – Änderungen vom anderen Buffer in den aktuellen schreiben
- ]c – Sprung zur nächsten Differenz
- [c – Sprung zur vorherigen Differenz
Dateiübergreifende Suche
:vimgrep /muster/ **/*.rbsucht mit internem grep in allen rb-Dateien rekursiv nach dem Muster- :grep … setzt ein externes grep ab und liefert die Dateiliste zurück. Die erste Fundstelle wird geöffnet
Quickfix-Mode (für :grep)
- :cl listet die gefundenen grep-Dateien auf
- :cc17 öffnet die 17. Fundstelle
- :cp springt zur vorherigen Fundstelle
- :cn springt zur nächsten Fundstelle
anderer Leute .vims
Speziell für Railsprojekte:
git clone git://github.com/manalang/vim-config.git