noqqe » blog | sammelsurium | photos | projects | about

vim für alle Gelegenheiten

2015-10-09 @ blog, config, development, devops, vim

Ich benutze vim für so gut wie alles. Blogposts, Mails, Notizen, Dokumentation, Skripte und Code. Doch egal wie sehr ich diesen wunderbaren Editor auch konfiguriere, es kommen immer wieder Situationen auf, in denen das ein oder andere Setting keinen Sinn ergibt.

Spelling, Textwidth und Wrapping sind zum Beispiel solche Settings. Über einen Blogpost über Vim mit Markdown stiess ich dann auf ein Plugin, welches sich um Soft-/Hard-Wrapping kümmert.

Im README befand sich ein Beispiel, in dem für verschiedene FileTypes unterschiedliche Optionen gesetzt werden.

augroup pencil
  autocmd!
  autocmd Filetype *      call pencil#init({'wrap': 'soft', 'textwidth': 75})
                            \ | setl textwidth=0 wrapmargin=0 wrap
  autocmd Filetype mail   call pencil#init({'wrap': 'soft', 'textwidth': 75})
                            \ | setl sw=2 ts=2 noai nonu nornu
                            \ | setl tw=100
                            \ | setl fdo+=search
  autocmd FileType markdown call pencil#init({'wrap': 'soft', 'textwidth': 80})
                            \ | setl spell spelllang=de,en fdl=4 noru nonu nornu
                            \ | setl tw=100
                            \ | setl fdo+=search
  autocmd FileType text   call pencil#init({'wrap': 'soft', 'textwidth': 75})
                            \ | setl spell spelllang=de,en fdl=4 noru nonu nornu
                            \ | setl tw=75
                            \ | setl fdo+=search
augroup END

Für die meisten vim User dürfte das nichts neues sein. Gerade Textwidth und Wrapping haben bei mir auch erstmal Versteh-Bedarf gehabt. Ich kann jetzt auch die Tagbar (für Variablen und Funktionen) nur für bestimmte Filetypes öffnen. Außerdem hab ich noch ein paar weitere Plugins gefunden.

Plugin 'tpope/vim-fugitive' " Git Wrapper
Plugin 'tpope/vim-commentary' " auto commenting with keybinding gc
Plugin 'airblade/vim-gitgutter' " git diff line next to line numbers
Plugin 'junegunn/goyo.vim'  " writer fullscreen mode
Plugin 'reedes/vim-pencil'  " Soft-, Hard-Wrapping
Plugin 'ntpeters/vim-better-whitespace' " highlightning for whitespace

So sieht mein vim wenn ich ein .markdown File öffne, komplett anders aus als bei Puppet oder Python. Kontextabhängiger Editor. So. Gut. Ich werde da noch weiter rumbasteln, denke ich mal sehr.

Comments (7)

tux. on 2015-10-09T21:02:47.290991
Hab' ich eigentlich schon mal die prima Voreinstellungen von Emacs gewürdigt? ;-)

Jochen on 2015-10-10T01:44:25.414993
Bin seit einiger Zeit auch etwas tiefer in die vim-markdown-Sache eingetaucht und stelle immer wieder erstaunt fest was vim doch für ein Vieh von Editor ist ;-) Weitere Anregungen und weiterführende Links finden sich auf der [Vim for Writers](http://naperwrimo.org/wiki/index.php?title=Vim_for_Writers) Seite. Und falls die markdown-Files mal Tabellen enthalten sollten kommt man mit dem Plugin 'dhruvasagar/vim-table-mode' voll auf seine Kosten ;-)

noqqe on 2015-10-12T09:19:29.279169
nein, aber mach mal!

noqqe on 2015-10-16T10:45:28.716977
sehr sehr geiler Tipp! Viel raus gezogen!

Jochen on 2015-10-17T13:47:17.250640
Gern geschehen

marvin on 2015-10-22T09:04:08.808078
mal wieder eine riesen inspiration... wie so oft in dem blog. gerade bei staticsitegeneretators macht es sinn vim maximal aufzubohren. was ich bis jetzt nicht geschafft habe: bei markdown automatisch goyo zu aktivieren.

noqqe on 2015-10-22T09:38:00.688204
oh danke :) Freut mich! Ich habe meine vim config mittlerweile auf github https://github.com/noqqe/vim