Logo

Vim-Tipps

Schlagwörter: Mediawiki, Texte, Vim

Ich habe mich kür­zlich wieder ein­mal etwas näher mit [[Vim]] beschäfti­gen müssen. Wie so oft ergab sich eine Kettenreaktion.

Syn­tax­high­light­ing für MediaWiki-Textdateien

Zunächst suchte ich eine verbesserte Syntaxhighlighting-Datei für [[MediaWiki]]-Texte. Die auf der Pro­jek­t­seite von Vim zur Ver­fü­gung gestellte(n) Datei(en) sind da etwas älteren Datums. Fündig wurde ich da, wo auch sonst, auf den Meta­seiten von Wikipedia. Dort befindet sich auf die Instal­la­tion­san­leitung. Die wäre in aller Kürze:

  1. Spe­ich­ern des Textes in ~/.vim/syntax/wiki.vim
  2. Verknüpfen von MediaWiki-Texten durch Erstellen einer Datei namens ~/.vim/filetype.vim mit fol­gen­dem Inhalt (bzw. Anhän­gen des Fol­gen­den, falls die Datei schon existiert
augroup filetypedetect
    autocmd BufRead,BufNewFile *.wiki setfiletype wiki
augroup END

Damit wird der MediaWiki-Syntax in jeder Datei her­vorge­hoben, die die Endung .wiki trägt (via).

Kopieren von Textinhalten

Nach dem Schreiben von Wiki-Artikeln will ich diese natür­lich auch ins jew­eilige Browser­fen­ster kopieren. Die Selec­tion per Maus in der Kon­sole gestal­tet sich doch rel­a­tiv schwierig. Die Auswahl endet dort, wo der Text das “Ende” der Kon­sole erre­icht. Auf diesem Weg komme ich also nicht weiter, wenn ich län­gere Texte kopieren will. Auch mit dem “Yanken” im visuellen Modus ist es nicht weit her. Der Text wird lediglich in eines der Vim.eigenen Reg­is­ter kopiert, nicht aber in die eigentliche Zwis­chen­ablage (Clip­board), welche ich auch für andere Pro­gramme nutzen kön­nte. Genau diesen Umstand soll die Option set clipboard=unnamed in der .vimrc verän­dern. Dies funk­tion­iert allerd­ings nicht.

Der Grund dafür ist, dass bei [[Ubuntu]] stan­dard­mäßig die Option xterm_clipboard nicht mit einkom­piliert ist. Überprüfen kann man dies mit:

vim --version | grep xterm_clipboard

Wenn in der Aus­gabe ein Minus vor­angestellt ist (-xterm_clipboard) fehlt die Option. Ändern kann man dies, indem man das fol­gende Paket installiert

sudo apt-get install vim-gtk

Damit wird die GUI-Version von Vim instal­liert und auch die Optio­nen für die CLI-Version von Vim wer­den angepasst. Die zuät­zlichen [[Abhängigkeiten]] im Ver­gle­ich zum Vim sind dabei aber dur­chaus überschaubar.

Automa­tis­ches Ein­rücken tem­porär deaktivieren

Mit den Optionen:

" automatische Zeileneinrueckung
set autoindent
set smartindent
" Sprachenerkennung aktivieren
filetype plugin indent on

in der .vimrc habe ich die automa­tis­che Zeilenein­rück­ung aktiviert. Das ist ganz prak­tisch beim Pro­gram­mieren etc. Will ich aber (Quell-) Text aus anderen Pro­gram­men ein­fü­gen, rückt Vim diesen erneut und immer wieder ein. Das macht so natür­lich abso­lut keinen Sinn und den Text im End­ef­fekt nur unles­bar. Daher habe ich mir fol­gen­des 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 Sta­tuszeile anzeigt. Um nur den Modus zu aktivieren, genügt auch ein einfaches

set pastetoggle=<F2>

in der Kon­fig­u­ra­tions­datei bzw, im Befehlsmodus abge­setzt. Eigentlich sollte auch ein

:set noautindent

im Befehlsmodus des Vim aus­re­ichend sein, um die Ein­rück­un­gen vor­rüberge­hend zu deak­tivieren. Dies ist allerd­ings nicht immer der Fall.

Geschrieben am 22.04.2010 von Sven in Programmtipp, Vim · 1 Kommentar
Weder Pings noch Kommentare sind erlaubt.

Trackbacks/Pingbacks

  1. […] Vim-Reihe fer­tiggestellt Schlag­wörter: Vim, Wiki Nach­dem ich in letz­ter Zeit wie­der ver­stärkt mit Vim gear­bei­tet habe, habe ich des­sen Wiki-Arti­kel komplett […]


Diese Seite und ihr Inhalt unterliegen, sofern nicht anders gekennzeichnet, einer Creative Commons-Lizenz.
cclicense
top