Ich habe mich kürzlich wieder einmal etwas näher mit [[Vim]] beschäftigen müssen. Wie so oft ergab sich eine Kettenreaktion.
Zunächst suchte ich eine verbesserte Syntaxhighlighting-Datei für [[MediaWiki]]-Texte. Die auf der Projektseite von Vim zur Verfügung gestellte(n) Datei(en) sind da etwas älteren Datums. Fündig wurde ich da, wo auch sonst, auf den Metaseiten von Wikipedia. Dort befindet sich auf die Installationsanleitung. Die wäre in aller Kürze:
augroup filetypedetect autocmd BufRead,BufNewFile *.wiki setfiletype wiki augroup END
Damit wird der MediaWiki-Syntax in jeder Datei hervorgehoben, die die Endung .wiki trägt (via).
Nach dem Schreiben von Wiki-Artikeln will ich diese natürlich auch ins jeweilige Browserfenster kopieren. Die Selection per Maus in der Konsole gestaltet sich doch relativ schwierig. Die Auswahl endet dort, wo der Text das “Ende” der Konsole erreicht. Auf diesem Weg komme ich also nicht weiter, wenn ich längere Texte kopieren will. Auch mit dem “Yanken” im visuellen Modus ist es nicht weit her. Der Text wird lediglich in eines der Vim.eigenen Register kopiert, nicht aber in die eigentliche Zwischenablage (Clipboard), welche ich auch für andere Programme nutzen könnte. Genau diesen Umstand soll die Option set clipboard=unnamed in der .vimrc verändern. Dies funktioniert allerdings nicht.
Der Grund dafür ist, dass bei [[Ubuntu]] standardmäßig die Option xterm_clipboard nicht mit einkompiliert ist. Überprüfen kann man dies mit:
vim --version | grep xterm_clipboard
Wenn in der Ausgabe ein Minus vorangestellt ist (-xterm_clipboard) fehlt die Option. Ändern kann man dies, indem man das folgende Paket installiert
sudo apt-get install vim-gtk
Damit wird die GUI-Version von Vim installiert und auch die Optionen für die CLI-Version von Vim werden angepasst. Die zuätzlichen [[Abhängigkeiten]] im Vergleich zum Vim sind dabei aber durchaus überschaubar.
Mit den Optionen:
" automatische Zeileneinrueckung set autoindent set smartindent " Sprachenerkennung aktivieren filetype plugin indent on
in der .vimrc habe ich die automatische Zeileneinrückung aktiviert. Das ist ganz praktisch beim Programmieren etc. Will ich aber (Quell-) Text aus anderen Programmen einfügen, rückt Vim diesen erneut und immer wieder ein. Das macht so natürlich absolut keinen Sinn und den Text im Endeffekt nur unlesbar. Daher habe ich mir folgendes Makro auf die F2-Taste gelegt:
" automatisches Einruecken deaktivieren nnoremap <F2> :set invpaste paste?<CR> set pastetoggle=<F2> set showmode
Damit wird der paste–Mode von Vim aktiviert und der aktive Modus in der Statuszeile anzeigt. Um nur den Modus zu aktivieren, genügt auch ein einfaches
set pastetoggle=<F2>
in der Konfigurationsdatei bzw, im Befehlsmodus abgesetzt. Eigentlich sollte auch ein
:set noautindent
im Befehlsmodus des Vim ausreichend sein, um die Einrückungen vorrübergehend zu deaktivieren. Dies ist allerdings nicht immer der Fall.
[…] Vim-Reihe fertiggestellt Schlagwörter: Vim, Wiki Nachdem ich in letzter Zeit wieder verstärkt mit Vim gearbeitet habe, habe ich dessen Wiki-Artikel komplett […]