Rainers Welt

vim

vim ist ein Texteditor. Diese Seiten sind zum Beispiel mit ihm erstellt worden. Es folgen hier ein paar Tipps zum Umgang mit vim:

Alles in einer Zeile bis STRING löschen:

:%s/^.*\(STRING\)/\1/
Wenn STRING mehrmals pro Zeile vorkommen kann, man aber nur bis zum ersten Auftraten von STRING löschen will:
:%s/^.\{-}\(STRING\)/\1/
Erklärung: %: Wie 1,$, nämlich von der ersten bis zur letzten Zeile (:help range), s: Suchen/Ersetzen, ^ Zeilenanfang, . beliebiges Zeichen * beliebig oft und Suchstring STRING ersetzen duch alles, was im Suchstring in dem ersten, mit \( ... \) markierten Teil steht \1. Im zweiten Befehl kommt im Suchteil nur folgendes hinzu: \{-}, das beteutet: sowenig wie möglich der vorangegangenen Zeichen sollen gefunden werden ( gefunden in :help pattern).

Alle spaces vor Zeilenende loeschen:

Hat man durch copy & paste so komische Zeilenenden erhalten wie das folgende (Sichtbarmachen von Sonderzeichen per :set list):
irgnedeintest                                                                                $
Kann folgende kleines Kommando helfen:
:1,$s/[[:space:]]*\ze$//
Dieses Kommando wirkt von der ersten bis zu letzten Zeile (1,$), sucht nach allen Whitepacezeichen gefolgt von einem Zeilenende (\ze heist, was folgt, muss im zu suchenden String enthalten sein, wird aber nicht ersetzt) und ersetzt es durch nichts.

Mehrere Fenster gleichzeitig

Folgendes ist nicht unbedingt für Messies geeignet:

Vim als diff verwenden

Nichdruckbare Zeichen anzeigen

Setzt man die Option list, werden auch nichtdruckbare Zeichen angezeigt. Zum Beispiel ^I für Tabulatoren, $ für Zeilenenden.

Nuetzliche Tastenkombinationen

Kommandomodus

Einfuegemodus

Completions

Vim als Mutteditor

Filetypefile mutt

In der ~/.vim/filetype.vim folgende Zeilen ergänzen:
if has("autocmd")
        autocmd BufRead *tmp/mutt* source ~/.vim/ftplugin/mail.vim
endif
--> jetzt kann man in der Datei ~/.vim/ftplugin/mail.vim eigene Abkürzungen, Tastenbelegungen, Settings, ... hinterlegen.

Signatur beim Reply entfernen

In die oben erwähnte Datei ~/.vim/ftplugin/mail.vim folgenden Eintrag machen:
normal :g/^> -- $/,/^$/-1d^M
Das ^M per STRG-V + STRG-M oder per STRG-V ENTER eingeben. TODO: Dass gibt noch eine Fehlermeldung, wenn die E-Mail keine Signatur enthällt (oder dies falsch getrennt ist (Signaturtrenner ist <minus><minus><space><zeilenende>)).