NERDBUDE

[ code. keyboards. terminals. cyber. ]

[HOWTO] [WHOAMI] [PODCAST] [FRANKENSWITCHES] [ENGLISH]

VIM



Es musste so kommen. Irgendwann musste auch Vim hier mal auftauchen und da Vim gerade 30 Jahre alt geworden ist rechtfertigt es das um so mehr.
Ich hab mir gedacht, starten wir doch einfach eine kleine Reihe in der ich (versuche) zu erklären was Vim ist und wie er verwendet wird.
Das gute ist ich werde dabei auch noch viel lernen. :D
Wer alle Teile übersichtlich beieinander haben will benutzt [VIM] als Sortierung.
In diesem ersten Teil soll es erstmal darum gehen was Vim ist, woher Vim kommt und wie er ganz grudsätzlich bedient wird.
Die späteren Teile der Serie werden dann genauer auf Benutzung, Konfiguration und Modifikation eingehen.
Starten wir also mit dem (m.M.n.) besten Editor den es gibt.

WAS IST VIM

Vim ist im Grunde ein Texteditor und basiert auf "vi" und steht für "Vi IMproved". Allerdings kein einfacher wie Notepad sondern ein hochgradig anpassbarer und erweiterbarer Editor.
Vim kann benutzt werden um einfache Files zu bearbeiten (die NERDBUDE HTML files werden komplett in Vim bearbeitet), lokale Wikis zur eigenen Strukturierung anzulegen, RSS Feeds zu lesen und noch vieles vieles mehr.
Vim gibt es für nahezu jedes Betriebssystem und ist meistens sogar vorinstalliert.
Entwickelt wurde Vim von Bram Moolenar und am 02.11.1991 released.
Vim ist ursprünglich für das Terminal entwickelt, bietet aber mittlerweile auch eine GUI Version mit erweiterter Mausunterstützung - aber dafür sind wir ja nicht hier. Ich bleib bei der Terminal version. Das solls an Geschichte gewesen sein - los gehts mit Vim.

Vim kann alles was man auch bei modernen Editoren und IDEs findet:

Syntaxhighlighting
Linenumbers
Diff Checks
Git support
Colorscheming
Markdownsupport
Filemanagment


Nicht alle dieser Funktionen sind von vornherein nutzbar, sondern müssen via Plugin nachgeladen werden.

START VIM

Um Vim zu starten reicht ein einfaches:

TERMINAL
vim


Wenn Vim zum ersten mal gestartet wird, sieht man folgenden Startscreen:



Um hier mal schon vorab den Mythos zu entkräften, es wäre schwer Vim wieder zu schließen - es steht sogar im Startscreen wie Vim wieder geschlossen wird:

TERMINAL
:q


Wenn ihr also ":" und "q" eintippt und mit ENTER bestätigt ist Vim auch wieder weg.
Nun wollen wir aber Vim benutzen und nicht gleich wieder abschießen.
Also Vim wieder öffnen und lostippen. Dabei passiert allerdings nicht viel.
Woran das liegt? Ganz einfach. Vim hat prinzipiell 3 verschiedene Modi in denen er betrieben werden kann. Die einzelnen Modis werden durch einen einfachen Tastendruck aktiviert:

I   - Insert Mode
V   - Visual Mode
ESC - Normal Mode


Die Modi sind relativ selbsterklärend.
Im INSERT Mode wird eingefügt, heißt geschrieben. Im VISUAL Mode wird der Inhalt des Files manipuliert bzw. geändert und der NORMAL Mode bietet die Möglichkeit Befehle zu benutzen, Text zu kopieren und wieder einzufügen und diverse andere Möglichkeiten.

Die einzige Besonderheit hat hier der VISUAL Mode. Der kann in drei verschiedenen Varianten benutzt werden:

  v  - Character Mode
  V   - Line Mode
  CTRL + v   - Block Mode


Wie der VISUAL Mode exakt funktioniert erkläre ich in einem späteren Teil noch genauer.


NAVIGATION

Vim kann zum einen per Cursortasten gesteuert werden zum anderen aber auch per "HJKL". Diese Atr der Steureung stammt noch aus "vi" Zeiten und ist zurückzuführen auf den Rechner auf dem "vi" entwickelt wurde. Das war ein ADM-3A Terminal ohne Cursortasten wie sie heute üblich sind, sondern mit Cursorarrows auf besagtem HJKL.
Die Umstellung von den Cursortasten auf HJKL braucht etwas Zeit aber, wenn es mal im Muskelgedächtnis drin ist, ist es deutlich angenehmer. Außerdem gibt es diverse Tools die ebenfalls mit den "Vim Keys" gecoded sind oder Plugins die auch aktuelle Tools mit den "Vim-Keys" bedienbar macht.

PRAXIS

Zum Schluss wird bei dieser Reihe immer ein kleines Beispiel folgen. Diesmal also Vim öffnen, Insert Mode aktivieren, Speichern und Schließen.

  $ vim htp.md (öffnet vim mit einem File namens htp.md)
  I (aktiviert den Insert Mode)
  Hack the Planet! (Text der im file stehen soll)
  ESC (zurück zum Normal Mode)
  :w (speichert die Änderungen)
  :q (schließt Vim)


//EOF