Vim Surround, Zeilennummern, Coffeescript und Probleme mit dem Mausmodus

Teil 3 meiner Erfahrungen vom Umstieg von Sublime zu Vim.

vim.surround

cd ~/.vim/bundle
git clone git://github.com/tpope/vim-surround.git

Dieses Plugin erlaubt es (unter anderem), bestimmte umschließende Zeichen der aktuellen Position zu ersetzen. So lassen sich die umschließenden doppelten Anführungszeichen mittels cs"' („change surrounding double quotes to single quotes“) ersetzen. Surround unterstützt Anführungszeichen, Klammern und auch HTML.

Leerzeichen statt Tabs

Selbst kein Verfechter dieser Konvention, muss ich oft Leerzeichen zum Einrücken verwenden. Ich hatte dies bereits in einem vorigen Artikel angesprochen, der korrigierte aber fälschlicherweise nur die Darstellung. Mittels expandtab werden die Tabs auch beim Speichern ersetzt:

" Tab width to 2 spaces
autocmd FileType html setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType ruby setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType javascript setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType coffee setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType css setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType sass setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType scss setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType haml setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType erb setlocal shiftwidth=2 tabstop=2 expandtab
autocmd FileType yaml setlocal shiftwidth=2 tabstop=2 expandtab

Zeilennummern anzeigen

" Set line numbers
set number

Texte aus Vim kopieren

Seit ich den Mouse-Mode aktiviert habe, kann ich keinen Text aus Vim mehr kopieren, indem ich ihn mit der Maus markieren und mittels Rechtsklick kopieren wähle. Dies lässt sich recht einfach beheben, indem man während des Vorgangs die Taste Shift gedrückt hält.

Shift + Mausaktionen
Vim verhält sich, als wäre der Mouse-Mode nicht aktiv

Coffeescript-Unterstützung

Syntax-Highlighting und Einrückungsunterstützung für Coffeescript:

git clone https://github.com/kchmck/vim-coffee-script.git ~/.vim/bundle/vim-coffee-script