Tipps
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
In diesem Artikel werden praktische Tipps rund um den Editor VIM gesammelt. Für weitere Informationen zur allgemeinen Bedienung sollte man den genannten Hauptartikel zu Rate ziehen.
Hinweis:
Die gesammelten Tipps müssen nicht für alle vim-Versionen Gültigkeit haben. Sollte ein Tipp nicht (mehr) funktionieren, bitte gerne in der Diskussion zum Artikel melden.
Eingabe von Sonderzeichen¶
Sonderzeichen können neben der direkten Eingabe auch im Eingabemodus mit der Tastenkombination Strg + K und einer weiteren Taste erzeugt werden. Beispielsweise wird aus Strg + K + O + < ein "ǒ".
Eine Übersicht über alle Tastenkombinationen kann man sich im Kommandozeilenmodus mit :digraphs
anzeigen lassen, unter :help digraphs
gibt es weitere Hilfe.
Rechtschreibprüfung¶
Intern¶
Um die interne VIM-Rechtschreibprüfung zu nutzen, wird spell
aktiviert und spelllang
gesetzt (für persistente Änderungen die Datei ~/.vimrc verwenden):
1 2 | set spell set spelllang=de |
Hinweis:
Siehe :help spell-german
für verschiedene Rechtschreibprüfungen im deutschsprachigen Raum.
Nun stehen im Normalmodus folgende Navigations- und Korrekturmöglichkeiten zur Verfügung:
Rechtschreibprüfung | |||
Befehl | Beschreibung | Befehl | Beschreibung |
[s | Sucht vorwärts nach weiteren falsch geschriebenen Wörtern oder Ausdrücken. | ]s | Sucht rückwärts nach weiteren falsch geschriebenen Wörtern oder Ausdrücken. |
zg | Fügt Wort unter Cursor als korrektes Wort in die lokale Rechtschreibungsdatei ein. | zw | Fügt Wort unter Cursor als falsches Wort in die lokale Rechtschreibungsdatei ein. |
zug | Macht Aktion zg rückgängig. | zuw | Macht Aktion zw rückgängig. |
z= | Listet Korrekturvorschläge auf. |
Dokumentation unter :help spell-quickstart
.
Möchte man die Rechtschreibprüfung deaktivieren, gibt man im Kommandozeilenmodus :set nospell
ein.
Es ist auch möglich, die Rechtschreibprüfung in Abhängigkeit des Dateityps zu aktivieren oder deaktivieren. Siehe hierzu :h autcmd
. Beispiel zur Deaktivierung der Rechtschreibprüfung für Dateien mit Python-Quelltexten:
1 | autocmd FileType python setlocal nospell |
Hunspell¶
Möchte man die auch von Open Office benutzten Hunspell-Wörterbücher verwenden, geht man folgendermaßen vor:
Wörterbuch installieren, diese geschieht über das Paket hunspell-de-de[2] (bzw. die entsprechenden Pakete für andere Sprachen).
Benötigten Ordner anlegen[1].
mkdir -p ~/.vim/spell
VIM starten und im Normalmodus den folgenden Befehl ausführen, um das Wörterbuch nutzen zu können:
:mkspell ~/.vim/spell/de /usr/share/myspell/dicts/de-DE
In VIM den Befehl
:set spelllang=de spell
ausführen, um die Rechtschreibprüfung zu aktivieren.
Soll die Rechtschreibprüfung bereits beim Programmstart aktiv sein, ist der 4. Befehl in die Datei ~/.vimrc einzutragen.
Python IDE¶
Wer VIM in eine kleine IDE verwandeln will, benötigt dazu nur vim-python-jedi, das aus den Paketquellen installiert werden kann.
vim-python-jedi
Befehl zum Installieren der Pakete:
sudo apt-get install vim-python-jedi
Oder mit apturl installieren, Link: apt://vim-python-jedi
Danach aktiviert man das Plugin:
vim-addons install python-jedi
Nun kann man bei Python-Skripten die Autovervollständigung mit Strg + nutzen.
LaTeX¶
Wer mit VIM LaTeX-Dokumente erstellen möchte, findet mit der vim-latexsuite 🇬🇧 eine Vielzahl an zusätzlichen Funktionen speziell zum Arbeiten mit LaTeX-Dokumenten. Von Syntaxhighlighting über Templates bis hin zu Code-Vervollständigung bleibt eigentlich kein Wunsch offen.
Einrichtung¶
Die Suite kann über das folgende Paket installiert werden[1]:
vim-latexsuite (universe)
vim-addon-manager (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install vim-latexsuite vim-addon-manager
Oder mit apturl installieren, Link: apt://vim-latexsuite,vim-addon-manager
Die Installation der vim-latexsuite aktiviert diese noch nicht. Diese VIM-Erweiterung muss explizit aktiviert werden.
vim-addons install latex-suite vim-addons status # zur Kontrolle
Zusätzlich sind folgende Einträge in der ~/.vimrc notwendig, damit die entsprechende Oberfläche (für GVim) und die dazugehörigen Befehle bzw. Schaltflächen der vim-latexsuite, beim Öffnen einer tex-Datei aktiviert werden:
1 2 3 4 5 6 | filetype plugin on if has('gui_running') set grepprg=grep\ -nH\ $* filetype indent on let g:tex_flavor='latex' endif |
Springen ins DVI-Dokument¶
Damit der DVI-Viewer nach Ausführen von \ls
im Normalmodus gleich die Stelle in der .dvi-Datei anzeigt, die gerade bearbeitet wird, kann man in die Datei ~/.vim/ftplugin/tex.vim die Zeilen
1 2 | let g:Tex_CompileRule_dvi = 'latex -src-specials -interaction=nonstopmode $*' g:TCTarget dvi |
einfügen. Unter Umständen kann das jedoch zu Fehlern führen.
Springen vom DVI-Dokument in den TeX-Text¶
Möchte man an eine gewünschte Stelle einer .tex-Datei gelangen, indem man mit
Strg + diejenige Stelle in der (mittels xdvi ausgegebenen) .dvi-Datei auswählt, muss man die Zeilen:
1 2 | let g:Tex_ViewRule_dvi = 'xdvi -editor "gvim --servername xdvi --remote +\%l \%f" $* &' let g:Tex_ViewRuleComplete_dvi = 'xdvi -editor "gvim --servername xdvi --remote +\%l \%f" $* &' |
zu ~/.vimrc hinzufügen und GVim von nun an mit
gvim --servername xdvi
starten.
pdflatex¶
PDF-Datei per default erzeugen¶
Möchte man die .tex-Datei gleich zu einer .pdf-Datei mittels pdflatex kompilieren, dann sollte Folgendes in der ~/.vimrc stehen:
1 2 3 4 5 6 7 8 | filetype plugin on filetype indent on au BufEnter *.tex set autowrite let g:Tex_DefaultTargetFormat = 'pdf' let g:Tex_MultipleCompileFormats = 'pdf' let g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode $*' let g:Tex_GotoError = 0 let g:Tex_ViewRule_pdf = 'evince' |
Drückt man nun \ll
im Normalmodus, wird die geöffnete .tex-Datei gespeichert und (bei Bedarf mehrmals) pdflatex ausgeführt. Mit \lv
öffnet Evince die .pdf-Datei.
Ausgabedateien in Unterordner bündeln¶
Möchte man die Ausgabedateien, mit Ausnahme des PDF, in einem Unterverzeichnis gebündelt haben sollte die obige g:TexCompileRule_pdf
durch folgende ersetzt werden.
1 | let g:Tex_CompileRule_pdf = 'mkdir -p out && pdflatex -output-directory=out -interaction=nonstopmode $* && mv out/$*.pdf .' |
Springen von Text zu Ausgabe und umgekehrt¶
Auch mit pdflatex kann man das Suchen in beiden Richtungen verwenden. Mit dem GNOME-Standardprogramm Evince ist das zwar etwas umständlich, geht aber z.B. mit Okular recht schnell. Wie es geht, ist in der Anleitung forward & inverse search mit vim-latexsuite und okular - synctex sein Dank 🇩🇪 kurz beschrieben.
Umgang mit Windows-/Mac-/Unix-Zeilenenden¶
Mit der Option fileformat
kann das Dateiformat bestimmt werden. Zur Auswahl stehen dos
, mac
und unix
. Sieht man z.B. "^M" am Zeilenende, kann man das Dateiformat auf dos
umstellen. Möchte man Windows-Zeilenenden in solche von Unix/Linux umwandeln, gibt man folgenden Befehl ein: :%s/\r//
Links¶
Intern¶
Extern¶
VIMderbare Kodierungen 🇩🇪 - Einfache Beschreibung von VIM im Umgang mit Zeichencodierung (charset) wie UTF-8
Change end-of-line format for dos-mac-unix 🇬🇧 - Umgang mit MS-Dos-, Unix- und Mac-Textdateien