Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
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.
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.
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 |
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 |
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.
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.
Die Suite kann über das folgende Paket installiert werden[1]:
vim-latexsuite (universe)
vim-addon-manager (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install vim-latexsuite vim-addon-manager
sudo aptitude install 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 |
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.
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.
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.
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 .' |
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.
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//
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
Diese Revision wurde am 21. Juli 2016 15:11 von acid47 erstellt.