Vim (GVim) der etwas andere Editor

Joachim on 27.9.2015

Vim ist eine Weiterentwicklung des Texteditors vi (UNIX). Ein wesentlicher Vorteil ist die Möglichkeit, aus einigen grundlegenden Editorbefehlen (Einfügen, Löschen, Kopieren, Austauschen usw.) zusammen mit Positionsangaben und Wiederholungsfaktoren mächtige Editierbefehle zusammenzusetzen.

Vim ist ein Editor, der für Programmierer geschrieben wurde. Daher gibt es den Modus edit-compiler-fix (Editieren-Übersetzen-Fehlerkorrektur). Ähnlich wie bei einer integrierten Entwicklungsumgebung wird der Quelltext editiert und dann mittels eines Compilers direkt aus Vim heraus übersetzt. Zusätzlich ist der Editor über die Skriptsprache Vimscript erweiter- und programmierbar. Dadurch lassen sich komplexe Vorgänge automatisieren. Ein Beispiel für Vim-Skript ist die Vim-Start Datei .vimrc unter Unix/Linux und _vimrc für Windows und DOS, in dieser Datei werden hauptsächlich Konfigurations-Einstellungen vorgenommen. Mit GVim steht Vim unter den meisten aktuellen Betriebssystemen eine grafische Oberfläche zur Verfügung.

Kleine Befehlsübersicht

Aufruf:

vim datei.txt

Moduswechsel Editiermodus:

  i - Insert-Modus
  <Esc> - Insert-Modus verlassen, zurück im Kommandomodus

Kommandomodus:

  :w - speichern
  :q - beenden
  :q! - beenden ohne speichern
  u - Undo, Letzte Änderungen zurücknehmen
  R - Replace-Modus
  G - Replace-Modus
  gg - An den Anfang der aktuellen Datei springen
  dd - Löschen der aktuellen Zeile
  yy - Aktuelle Zeile in den Kopierpuffer
  p - Textpuffer nach der aktuellen Zeile einfügen

Beispiel der Steuerdatei .vimrc.

syntax on

Automatische Dateityperkennung wird eingeschaltet, dazu werden dateispezifische Aktionen eingelesen und Autokommandos ausgeführt. Damit werden Erweiterungen wie Vim-LaTeX erst lauffähig.

filetype plugin on

Vim-Erweiterungen nutzen, kein vi-kompatibler Modus. Dies ist zumeist Voreinstellung, es schadet nicht, es nochmal einzustellen.

set nocompatible

Zeigt die Zeilennummer an

set number

Großschreibung ignorieren (beim Suchen)

set ic

Beim Tippen einer schließenden Klammer springt der Cursor kurzzeitig auf die öffende Klammer und wieder zurück.

set showmatch

Befehle werden im Kommandomodus beim Eintippen nicht angezeigt. showcmd zeigt sie rechts unten in der Statuszeile.

set showcmd

Einrückung der vorigen Zeile erhalten

set autoindent

Rechts unten in der Statuszeile wird die Cursorposition sowie relative Position in der Datei in Prozentzahlen angezeigt.

set ruler

Anzeige Fensterbreite

set columns=104

Anzeige Fensterhöhe

set lines=48

Kein Zeilenumbruch

set nowrap

Gibt an wie viele Leerzeichen expandtab verwendet

set shiftwidth=2

Gibt an aus wie vielen Leerzeichen ein Tab bestehen soll

set tabstop=2

Es werden Leerzeichen anstatt Tabs verwendet. Kann mit set noexpandtab wieder rückgängig gemacht werden.

set expandtab

Zeichen-Codierungen einstellen

set fileencodings=ucs-bom,utf-8,default,latin1

Setzt das Dateiformat, genauer gesagt das Format des Zeilenendes - hier z.B. für DOS. Das ist angebracht, wenn diese unter DOS/Windows bearbeitet oder betrachtet werden sollen.

set ff=dos

Backup-Dateien werden erzeugt

set backup

Backup-Datei erhalten die Endung .bak

set backupext=.bak

Setzt das Verzeichnis in dem die Backup-Dateien abgelegt werden

set backupdir=c:\\home\\Backup

Plugin bufferexplorer.vim F12 - toggle buffer explorer window

noremap <silent> <F12> :BufExplorer<CR> inoremap <silent> <F12> <c-C>:BufExplorer<CR>

Mit Shift+x wird die Perl-Datei auf Syntaxfehler überprüft.

:nnoremap X :w<Enter>:!perl -cw %<Enter>

Fazit:

Vim ist ein superschneller und universell einsetzbarer Editor nicht nur für Programmierer.

Links:

Offizielle Webseite
http://www.vim.org

Wikipedia
https://de.wikipedia.org/wiki/Vim

Vim - Schnellübersicht (PDF)
http://tnerual.eriogerg.free.fr/vimqrc-ge.pdf

GVIM - Kurzanleitung (PDF)
http://lug.fh-swf.de/vim/vim-kurzanleitung/vim-kurzanleitung.pdf

Vim - das Überlebensnotwendige
http://linuxwiki.de/vim

Zurück