Durch Plugins bauen Sie den Editor Vim individuell aus. Dabei erleichtern Plugin-Manager wie Vundle das Einrichten der zusätzlichen Funktionen.
Vim [1] läuft problemlos auf älteren Rechnern oder Headless-Systemen, ohne diese an ihre Grenzen zu bringen. Um Ihnen den Umstieg auf Vim [2] zu erleichtern, nehmen wir für Sie zehn praktische Plugins unter die Lupe, die auf der neuesten Version laufen. In der Tabelle “Perfekt ausgebaut” finden Sie eine Übersicht der Kandidaten.
|
Name |
GitHub Repo |
Funktion |
|---|---|---|
|
Airline |
|
Statusleiste |
|
Anzu |
|
Suche im Text |
|
Nerdtree |
|
Seitenleiste mit Dateibaum |
|
Nordisk |
|
Farbschema |
|
Numbertoggle |
|
Zeilennummerierung |
|
Pasta |
|
Texteinfügung |
|
Pencil |
|
Textformatierung |
|
Syntastic |
|
Syntax-Highlighting |
|
VimCalc3 |
|
Taschenrechner |
|
YouCompleteMe |
|
Auto-Vervollständigung |
Am einfachsten verwalten Sie Plugins für Vim über einen Plugin-Manager wie Vundle [3]. Um dessen aktuellste Version einzurichten, führen Sie die Kommandos aus Listing 1 aus. Die Konfiguration der Software erfolgt über die Datei ~/.vimrc. Fehlt sie, dann legen Sie sie mit dem Inhalt aus Listing 2 neu an.
Listing 1
mkdir ~/.vim mkdir ~/.vim/bundle git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Listing 2
" Das ist ein Kommentar " ~/.vimrc set nocompatible " notwendig filetype off " setzt den Laufzeitpfad. Pfad eventuell anpassen set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " Plugin Vundle einbinden; notwendig Plugin 'VundleVim/Vundle.vim' " alle anderen Plugins hier auflisten Plugin 'GitHub Repository' " alle Plugins müssen vor der folgenden Zeile erscheinen: call vundle#end() " notwendig filetype plugin indent on " notwendig " alle Einstellungen der Plugins folgen hier
In Vim wechseln Sie dazu mittels [Esc] in den Normalmodus, in dem Sie Text manipulieren oder darin navigieren. Um den Inhalt in eine neue Datei zu speichern, aktivieren Sie über den Doppelpunkt ([Umschalt]+[.]) die Eingabezeile, über die Sie dann mit w gefolgt vom Dateinamen die Daten speichern. Befehle an diesem Prompt schließen Sie immer mit der Eingabetaste ab.
Auch Vundle benötigt eine Konfigurationsdatei, in der Sie die zu installierenden Plugins eintragen. Da Vundle das Plugin Vundle.vim braucht, damit es funktioniert, geben Sie zunächst am Eingabeprompt des Editors die ersten Buchstaben des Befehls PluginInstall ein und vervollständigen den Rest durch einen Druck auf die Tabulatortaste.
Der Editor führt den Befehl nach einem Druck auf die Eingabetaste aus, indem er die Installation des erforderlichen Plugins startet. Sobald Vundle meldet, dass es die Installation erledigt hat, wechseln Sie über [:] und q wieder zur vorherigen Ansicht. Auf diese Weise verfahren Sie mit jedem Plugin, das Sie in Vim einbinden möchten (siehe Kasten “Plugins einbinden”).
Plugins einbinden
Generell binden Sie Plugins unter Vundle durch Eintragen einer Zeile in die Konfigurationsdatei ~/.vimrc ein:
Plugin 'GitHub-Repository'
Änderungen an der Konfigurationsdatei speichern Sie durch Drücken von [:]+ und wq ab. Anschließend öffnen Sie die Konfigurationsdatei erneut und geben am Prompt PluginInstall ein. Dadurch installieren Sie alle neu eingetragenen Plugins. Das Fenster von Vundle verlassen Sie wieder über [:] und q. Das gilt auch für Plugins, die ein neues Fenster innerhalb der Vim-Sitzung öffnen.
Der Befehl [:]PluginList liefert eine Liste der bereits installierten Plugins. Um innerhalb von Vim nach neuen Plugins zu suchen, geben Sie an der Eingabeaufforderung des Editors folgendes Kommando ein:
PluginSearch Suchwort
Das gewünschte Plugin installieren Sie anschließend, indem Sie den entsprechenden Eintrag mit dem Cursor anwählen und [I]+ drücken. Vundle erkennt, wenn Sie Plugins nicht mehr brauchen – etwa, weil Sie diese auskommentiert haben. Solche überflüssigen Einträge bereinigen Sie durch [:] und die Eingabe von PluginClean aus dem Editor heraus.
Rund ums Aussehen
Nach neuen Plugins suchen Sie am besten auf der Webseite VimAwesome [4] oder über [:]PluginSearch. Zu den Highlights der dort bereitstehenden Farbschemen zählt Nordisk [5], das augenschonende Farben wählt. Farbschemen kommen in der Regel mit minimaler Konfiguration aus:
" ~/.vimrc colorscheme nordisk
Sobald Sie die Konfigurationsdatei speichern und schließen, dürfen Sie sich vom Ergebnis selbst überzeugen (Abbildung 1).

Abbildung 1: Das Farbschema Nordisk weist einen dunklen Hintergrund auf und minimiert zusätzlich die Kontraste.
Da man in Vim die aktuelle Zeilennummer leicht übersehen kann, gibt die Erweiterung Vim-numbertoggle [6] die Zeilennummer, in der sich der Cursor gerade befindet, am Zeilenanfang aus. Außerdem blendet er bei den Zeilen darunter oder darüber den Abstand zur aktuellen Zeile ein. In die Konfigurationsdatei von Vundle tragen Sie dazu Folgendes ein:
set number set relativenumber
Die womöglich beste Statuszeile nennt sich Airline [7]. Sie nimmt den ganzen unteren Rand des Editor-Fensters ein und zeigt dort die aktuelle Zeilennummer, die Gesamtzahl der Zeilen, die Zeichenkodierung des geöffneten Dokuments und den aktuellen Modus des Editors an (Listing 3).
Listing 3
" ~/.vimrc " aktiviert das Plugin airline beim Starten von Vim let g:airline#extensions#tabline#enabled = 1 " Formatierung der Statuszeile let g:airline#extensions#tabline#left_sep = ' ' let g:airline#extensions#tabline#left_alt_sep = '|' let g:airline#extensions#tabline#formatter = 'default'
Zubehörkiste
Der Taschenrechner VimCalc3 [8] erleichtert Berechnungen und erfordert außer dem Eintrag des Github-Repositorys in die Vundle-Konfiguration keinerlei Anpassungen (Abbildung 2).

Abbildung 2: Das Plugin VimCalc3 wartet mit etlichen vordefinierten Funktionen in einem virtuellen Taschenrechner auf.
Zum Starten des Taschenrechners im Vim-Fenster geben Sie den Befehl [:]+Calc ein. Mittels [:] und der Eingabe von help VimCalc3 verschaffen Sie sich einen Überblick über die Funktionen.
Das Tool Vim-Anzu [9] erleichtert Ihnen die Suche nach Begriffen innerhalb eines Dokuments. Listing 4 zeigt die erforderliche Konfiguration. Um die Suche zu starten, rufen Sie im Normalmodus über den Schrägstrich ([Umschalt]+[7]) die Suche auf, geben den Suchtext ein und bestätigen über [Eingabe]. Daraufhin markiert Anzu sämtliche Vorkommen des Texts.
Listing 4
" ~/.vimrc " Tastaturkürzel für Anzu konfigurieren " [n] -> spring zum nächsten Suchergebnis nmap n <Plug>(anzu-n-with-echo) " [N] -> springt zum vorherigen Suchergebnis nmap N <Plug>(anzu-N-with-echo) nmap * <Plug>(anzu-star-with-echo) nmap # <Plug>(anzu-sharp-with-echo) " Status löschen: nmap <Esc><Esc> <Plug>(anzu-clear-search-status)
Eine gute Entwicklungsumgebung braucht einen Dateibrowser, mit dem man innerhalb eines Projekts nach Dateien suchen und diese öffnen kann, ohne dazu jedes Mal in die Konsole zu wechseln. Nerdtree [10] erweitert den Editor um ebendiese Funktion, erfordert aber etwas Konfigurationsarbeit.
Falls Sie den Dateibrowser (Abbildung 3) direkt nach dem Starten von Vim einblenden wollen, verwenden Sie die Konfiguration aus Listing 5. Während einer Sitzung starten Sie das Plugin auch ohne vorherige Konfiguration über [:]+ und die Eingabe von NERDTree. Wie gewohnt schließen Sie die Zeile mit [Eingabe] ab.
Listing 5
" ~/.vimrc
" startet Nerdtree automatisch, falls keine Datei angegeben wurde
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif

Abbildung 3: Wenn Sie im Dateibrowser die Auswahl einer Datei durch Drücken der Eingabetaste bestätigen, lädt der Editor sie rechts ins Fenster.
Zeit für Prosa
Das verbreitete Plugin Vim-Pencil [11] erlaubt es, in Texten zwischen hartem und weichem Textumbruch zu wechseln (Listing 6). Zusätzlich bietet es eine Anzeige in der Statuszeile an, die sich in die bereits erwähnte Statuszeile Airline integriert.
Listing 6
" ~/.vimrc
filetype plugin on
" setzt Textumbruch standardmäßig auf soft
let g:pencil#wrapModeDefault = 'soft'
" aktiviert Autoformat, falls Textumbruch auf hart gesetzt wurde
let g:pencil#autoformat = 1
" Legt den Textumbruch für Dateitypen fest
augroup pencil
autocmd!
autocmd FileType markdown,mkd call pencil#init({'wrap': 'hard', 'autoformat': 1})
autocmd FileType text call pencil#init({'wrap': 'hard', 'autoformat': 0})
augroup END
" zeigt den aktuellen Modus von Pencil in der Statuszeile airline an
let g:airline_section_x = '%{PencilMode()}'
Sie aktivieren die Erweiterung via [:]+,Pencil. Zwischen den Umbruchformen wechseln Sie mit den Befehlen [:]+,PencilHard beziehungsweise [:]+,PencilSoft. Um das Plugin während einer Sitzung zu deaktivieren, drücken Sie [:]+ und geben PencilOff ein, gefolgt von [Eingabe].
Nutzen Sie beim Schreiben häufig Copy & Paste, lohnt sich ein Blick auf Vim-Pasta [12]. Wollen Sie etwa einen Textausschnitt in eine neue Zeile einfügen, drücken Sie dazu im Normalmodus [O]. Vim-Pasta sorgt dann beim anschließenden Einfügen des Textes dafür, dass die ursprüngliche Formatierung nicht verlorengeht.
Für Coder
Das Plugin YouCompleteMe [13] vermag vordefinierte Wörter von Programmiersprachen wie Java oder Javascript automatisch zu vervollständigen. Geben Sie die Anfangsbuchstaben eines bereits vorkommenden Worts ein, schlägt es mehrere Alternativen vor (Abbildung 4). Mit den Pfeiltasten navigieren Sie durch die Vorschläge, durch einen Druck auf die Leertaste übernehmen Sie den gewählten Vorschlag.

Abbildung 4: Wie man an der lilafarbenen Ausklappliste erkennt, arbeiten hier die beiden Plugins Syntastic (Syntax-Highlighting) und YouCompleteMe (Auto-Vervollständigung) problemlos zusammen.
Um die Funktion für alle unterstützten Programmiersprachen zu aktivieren, wechseln Sie nach der Installation des Plugins in den Plugin-Ordner (der bei Ihnen anders heißen kann als in unserem Beispiel). Dort geben Sie folgenden Befehl ein:
$ cd ~/.vim/bundle/youcompleteme $ python3 install.py --all
Ein äußerst beliebtes Plugin für das Syntax-Highlighting, das die Syntax etlicher Programmiersprachen beherrscht, heißt Syntastic [14]. Hierzu bedarf es aber einer grundlegenden Konfiguration (Listing 7). Zusätzlich dürfen Sie für eine Programmiersprache selbst festlegen, welcher Highlighter von Syntastic dafür infrage kommt.
Listing 7
" ~/.vimrc
" gibt Warnungen in der Statuszeile aus
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
" überprüft die Syntax nach dem Öffnen der Datei und während des Schreibens
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
Die im Paket Syntastic enthaltenen Syntax-Highlighter finden Sie im Unterordner ~/.vim/bundle/syntastic/syntax_checkers. Zusätzlich stehen in der Datei ~/.vim/bundle/syntastic/doc/syntastic-checkers.txt sämtliche Syntax-Checker. Bei Bedarf fügen Sie diese in die Konfigurationsdatei ein (Listing 8). Achtung: Möglicherweise weicht der Pfad zu Syntastic auf Ihrem Computer von jenem in unserem Beispiel ab.
Listing 8
$ let g:syntastic_Programmiersprache_checkers = ['Syntax-Highlighting']
$ let g:syntastic_mode_map = {"mode": "active"}
Fazit
Der Einstieg in Vim ist zwar etwas holprig – der Editor tickt in vielerlei Hinsicht anders als ähnliche Programme. Die vielen nützlichen Plugins machen das aber wieder wett. Außerdem lädt der Editor samt Erweiterungen selbst auf dem ältesten System blitzschnell. Haben Sie einen Befehl einmal vergessen, so spüren Sie diesen über die Funktion zum automatischen Vervollständigen mittels [Tab] leicht wieder auf.
Infos
-
Vim: https://www.vim.org
-
Vim-Basics: https://www.linux-community.de/24065
-
Vim-Plugins: https://vimawesome.com
-
Vim-numbertoggle: https://vimawesome.com/plugin/vim-numbertoggle
-
VimCalc3: https://vimawesome.com/plugin/vimcalc3
-
Nerdtree: https://github.com/scrooloose/nerdtree
-
Vim-Pencil: https://vimawesome.com/plugin/vim-pencil
-
Vim-Pasta: https://vimawesome.com/plugin/vim-pasta
-
YouCompleteMe: https://vimawesome.com/plugin/youcompleteme
-
Syntastic: https://vimawesome.com/plugin/syntastic





