ubuntuusers.de

Tipps

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./vim.png 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:

  1. Wörterbuch installieren, diese geschieht über das Paket hunspell-de-de[2] (bzw. die entsprechenden Pakete für andere Sprachen).

  2. Benötigten Ordner anlegen[1].

    mkdir -p ~/.vim/spell 
  3. 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 
  4. 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 + linke Maustaste 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//

Intern

Extern

Diese Revision wurde am 14. Februar 2020 19:41 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Editor, Shell