Mehr Vim Tipps

Hallo zusammen

Ich bin ein neuer Autor und werde gelegentlich Beiträge zu Vim und evtl. anderen Themen schreiben. Hier ein paar kleine Tipps, die mir immer wieder den Alltag erleichtern.

Ich gehe davon aus, dass die Grundkenntnisse bereits vorhanden sind; ansonsten ist das bei Vim mitgelieferte Tutorial empfehlenswert, welches aus der Shell mit

$ vimtutor

gestartet werden kann.

Rechtschreibung

Seit Version 7 bietet Vim eine eigene Rechtschreibehilfe an. Nach der Eingabe

:set spell spelllang=de,en

werden alle Wörter, die von Vim nicht als korrekte Deutsche oder Englische Wörter erkannt werden, rot markiert.

Umlaute

Manchmal hat es auf einer Tastatur keine Umlaute. Kein Problem mit Vim - die Umlaute können im Insert-Mode mit CTRL-K als Digraph eingegeben werden. Beispiel:

CTRL-K U:

gibt ein Ü ein. Die weiteren Digraphe lassen sich mit

:digraph

anzeigen.

Automatische Komprimierung

Hat eine Datei eine Endung .gz oder .bz2, so wird sie von Vim automatisch (de-)komprimiert. Dies funktioniert auch beim Erstellen einer neuen Datei, z.B.:

$ vim notizen.txt.bz2

Makros

Ein Makro kann dazu verwendet werden, eine oft wiederholte Editiersequenz abzukürzen. Die Aufnahme eines Makros hat immer die Form qX[Editiersequenz]q. Abgespielt wird es mit @X. Dabei ist X der Bezeichner der Sequenz - dies kann ein Buchstabe oder eine Ziffer sein. Die Editiersequenz darf auch Wechsel in andere Modi beinhalten, muss aber im Normal-Mode starten und enden. Ein Beispiel:

qayypVr-q

Nun wird durch Eingabe von

@a

der Text einer ganzen Zeile unterstrichen.

Verschlüsselung

Will man in Vim einen Text verschlüsseln, so genügt es, Vim mit -x aufzurufen oder bei laufendem Vim

:X

einzugeben. Vim fragt dann nach einem Schlüssel und speichert die Datei ab sofort nur noch verschlüsselt. Der verwendete Algorithmus ist allerdings nicht besonders sicher. Besser - und auch eher der Unix-Philosophie entsprechend - wäre es, ein externes Tool für die Verschlüsselung zu verwenden. Vim bietet die Möglichkeit, einen Teil (Selektion) oder den ganzen Inhalt (% Operator) einer Datei durch ein externes Programm zu filtern. Möchte ich z.B. eine Textdatei vor dem Speichern mit GPG verschlüsseln (wozu GPG natürlich vorher eingerichtet werden muss), so gebe ich einfach

:%!gpg -e -a -r andreas

ein. Damit wird der Text von GPG mit meinem eigenen öffentlichen Key verschlüsselt. Da RSA asymmetrisch ist, wird die Passphrase nur zum entschlüsseln benötigt, was mit

:%!gpg -d -q

bewerkstelligt wird.

In beiden Fällen sind Swap- und Viminfo-Dateien aber immer noch unverschlüsselt. Sie können entweder mit den Kommandozeilen-Parametern -n -i /dev/null oder mit dem Kommando

:set noswapfile viminfo=

deaktiviert werden.

Die Möglichkeit, so einfach externe Programme einsetzen zu können ist auch sonst immer wieder äusserst nützlich. Möchte ich beispielsweise einige Zeilen alphabetisch sortieren, so markiere ich sie einfach (Visual-Mode) und gebe

:!sort

ein.

Mappings

Für oft verwendete Kommandos lohnt es sich, eigene Mappings zu erstellen (diese können in der Datei .vimrc gesammelt werden). Ein Beispiel:

:map <F2> :execute '!links http://dict.leo.org/?search='.expand("<cword>")<CR>

Nun kann mit F2 auf einen Tastendruck die Übersetzung für das Wort, das sich aktuell unter dem Cursor befindet, bei Leo nachgeschlagen werden.

So, das ist im Moment alles was mir so einfällt. Ich hoffe es hat ein paar nützliche Tipps dabei und freue mich natürlich über Feedback.


Über diesen Beitrag


  1. Jeremy 16.9.2007 / 21:09

    Mehr davon! :)

  2. kalkin 16.9.2007 / 21:44

    Auch ganz nett ist das man mit @@ das letzte Macro ausführen kann. Da braucht man keine Fingerakrobatik zu machen ;)

  3. Nemesis#13 18.9.2007 / 22:29

    super ;-)
    ganz genau sowas wollen wir doch sehen =D

    (hm, ich überlege gerade, ob ich vllt. ein nano paper machen sollte…)

  4. joe 25.9.2007 / 20:37

    full ack! Super! Meeeeehr!

    (Gilt uebrigens fuer das gesamte Blog!)

    Cheers, joe

  5. Die Welt ist 10.4.2008 / 20:31

    Ich habe gVim Version 7.1. Wenn ich den Umlaut Ü bilden will und ich die Taste gedrückt halte und dazu das kleine oder große K drücke, macht es Bing und es passiert gar nichts.

    gVim habe ich auf Windows 98 SE installiert. Vielleicht liegt es ja daran, warum die Digraphe bei mir nicht funktionieren. Das Anzeigen mit :digraph geht aber.

  6. Die Welt ist 11.4.2008 / 12:18

    Ich muss mich berichtigen. Bei mir funktioniert jetzt das Einfügen von Sonderzeichen auch. Man muss sich nur mit a oder i im Einfügemodus befinden. Dadurch erscheint ein Fragezeichen und man muss nur noch die entsprechende Zeichenkombination angeben.

  7. mario 2.10.2008 / 15:10

    danke
    hab mir das mit den Makros abgeschaut

Hinterlasse einen Kommentar

XHTML: Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>




Safari hates me