Die Grundfunktionen wie Schreiben, Markieren, Löschen, Kopieren, Einfügen usw. haben wir also in den ersten drei Teilen abgehakt, d.h. grundsätzlich können wie mit Vim arbeiten.
Vim bietet aber (wie bei allem) mehr. Was wenn wir Syntax-Highlighting haben wollen, die Folderstruktur, vielleicht eine schickere Statusline usw.? Dafür gibt es Plugins und zum sorgt der
CULT OF VIM für zahlreiche Plugins die Vim in seinem Funktionsumfang stark erweitern.
Bevor ich aber zu den Plugins selber komme, kurz zur Frage wie Plugins in Vim benutzt werden.
Für Vim gibt es verschiedene Pluginmanager. Die bekanntesten sind folgende:
Welches ihr benutzt ist natürlich euch frei überlassen. Ich benutze hier PATHOGEN und bin damit sehr zufrieden.
Um PATHOGEN zu installieren reichen zwei einfache Terminals-Commands und eine Anpassung der .VIMRC Configfile (auf die werde ich noch in einem anderen Teil eingehen):
TERMINAL
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
In die .VIMRC File wird noch folgende Zeile eingefügt und danach ist Pathogen einsatzbereit:
.VIMRC
execute pathogen#infect()
Wenn diese drei Schritte gemacht sind, könnt ihr anfangen Plugins zu installieren. Die meisten Plugins unterstützen die Benutzung via Pathogen und das macht es recht einfach sich Plugins zu Vim hinzuzufügen. Da kommt die nächste Frage auf: "Wo finde ich Plugins?". Zum einen könnt ihr natürlich Github, Gitlab und ähnliche Ansammlungen durchforsten. Das kann unter Umständen aber schnell nerven und kostet viel Zeit. Zum Glück gibt es
VIMAWESOME. VIMAWESOME ist eine Sammlung an Vim Plugins wunderbar kategorisiert und überschaubar präsentiert.
Wenn ihr nun ein Plugin gefunden habt, das ihr nutzen wollt ist die Installation via Pathogen schnell erledigt (hier am Beispiel NERDtree):
.VIMRC
cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree
Fertig! Nun kann in Vim mit dem Command ":NERDtree" welches im NORMAL Mode eingegeben wird, der Filetree eingeblendet werden. Wollen wir nun, das NERDtree von Anfang an gestartet wird, muss noch ein Eintrag in die .VIMRC Configfile:
Nun haben wir die Grundlage für Plugins geschaffen. Im folgenden noch ein paar Plugins die ich installiert habe und die ich zum aktuellen Zeitpunkt uneingeschränkt empfehlen kann.
FUNKY PLUGINS
Vim-startify bietet einen wunderschönen Startscreen wenn Vim ohne Angabe von Files gestartet wird und bietet sich an, wenn ihr Files habt die häufig bearbeitet werden (configs) und ihr schnellen Zugriff darauf haben wollt, ohne jedesmal den Pfad zum File tippen wollt. Vim-startify hat die Möglichkeit eine Liste an zuletzt geöffneten Files anzuzeigen aber auch statische Links zu Files die häufig benutzt werden.
Aber - und das Auge hackt ja mit - auch die Möglichkeit eine einfache ASCII-Art Grafik anzuzeigen (bei mir das einfache "HACK!").
Erspart einem viel tipperei und sieht obendrein noch schick aus.
Über VimWiki habe ich hier schon geschrieben (
VIMWIKI). Ein kleines lokales Wiki mit dem wir unsere Notizen, Projektdaten, Aufgaben und alles was die Fantasie her gibt. Also alles was eine Knowledgebase braucht. Die Seiten werden per Markdown gestyled und helfen wunderbar die wirren Gedanken wenigstens sortiert zu halten.
Die Statusleiste von Vim ist recht simple und einfach. Leider auch etwas langweilig. Dafür gibts zum Glück Lightline. Die ersetzt die Standard-Statuszeile von Vim gegen eine hübschere Variante. Lightline unterstützt viele Themes und Colorschemes. Wer es also etwas bunter haben will, nutzt Lightline.
Ich hab hier des öfteren mit HTML Farbcodes zu tun. Praktisch ist es, wenn diese gleich in Vim bzw. im Codefile angezeigt werden. Grade wenn es um die NERDBUDE files geht oder wenn ihr selber Colorschemes für euer System zusammenschraub ganz praktisch.
NERDtree, welches vorhin schon als Beispiel herhalten musste, bietet einen Filetree der links oder rechts in Vim angezeigt werden kann. So müsst ihr eure Vim-Instanz nicht mehr verlassen wenn ihr andere Files gemütlich öffnen wollt.
Viel Spaß beim Zeit vergessen beim Plugins suchen!