Wikipedia has a number of tips for people who like to edit Wikipedia articles with VIM.
Of course, it all starts with opening an article in VIM. How I do this depends on my mood: I can open it by firing GVIM using Vimperator or I can mount the wiki with WikipediaFS. I prefer the latter.
Spell-checking
One tool that’s very convenient for editing large sections of prose is VIM’s built-in spell-checker. Example:
set textwidth=0 set spell spelllang=nl
Wrapping, matching and folding
There’s some more useful stuff that I copied to “ftplugin/mediawiki.vim” in “$HOME/.vim/“:
" Wikipedia articles often only have line-breaks at the end of each paragraph, " a situation Vim by default doesn't handle as other text editors. setlocal wrap linebreak setlocal textwidth=0 " No auto-wrap at all setlocal formatoptions-=tc formatoptions+=l if v:version >= 602 | setlocal formatoptions-=a | endif " Make navigation more amenable to the long wrapping lines. noremapk gk noremap j gj noremap gk noremap gj noremap 0 g0 noremap ^ g^ noremap $ g$ noremap D dg$ noremap C cg$ noremap A g$a inoremap gk inoremap gj " utf-8 should be set if not already done globally setlocal fileencoding=utf-8 setlocal matchpairs+=<:> " Treat lists, indented text and tables as comment lines and continue with the " same formatting in the next line (i.e. insert the comment leader) when hitting " or using "o". setlocal comments=n:#,n:*,n:\:,s:{\|,m:\|,ex:\|} setlocal formatoptions+=roq " match HTML tags (taken directly from $VIM/ftplugin/html.vim) if exists("loaded_matchit") let b:match_ignorecase=0 let b:match_skip = 's:Comment' let b:match_words = '<:>,' . \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' . \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' . \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' endif " Other useful mappings " Insert a matching = automatically while starting a new header. inoremap = =(getline('.')==''\|\|getline('.')=~'^=\+$')?"==\ Left>":"=" " Enable folding based on ==sections== :set foldexpr=getline(v:lnum)=~'^\\(=\\+\\)[^=]\\+\\1\\(\\s*\\)\\=\\s*$'?\">\".(len(matchstr(getline(v:lnum),'^=\\+'))-1):\"=\" :set fdm=expr
To have this automatically executed when opening files ending in .mw:
"autocmd BufRead,BufNewFile *.mw setfiletype mediawiki" > $HOME/.vim/ftdetect/mediawiki.vim
Syntax highlighting
Additionally, if you want to have syntax highlighting for MediaWiki articles, you can save this syntax file to $HOME/.vim/syntax/mediawiki.vim.
Recent Comments