Setup VIM7 spelling in Ubuntu
The default VIM7 install is equipped with the English dictionary, but as I’m Dutch I wanted to use the Dutch spelling, unfortunately these spell files are not included in Ubuntu. The following article is a short howto on how to add this wonderful feature to your VIM.
Dutch spelling⌗
Download your language from the debian experimental archive.
I needed Dutch so I downloaded:
/main/v/vim-spellfiles/vim-spellfiles-nl_20060604-1_all.deb
Install this with:
dpkg -i vim-spellfiles-nl_20060604-1_all.deb
This will put some files in /usr/share/vim/addons
. By default VIM will
not look in that directory. To fix this I’m creating some symlinks from
my local .vim directory:
cd ~/.vim/spell
ln -s /usr/share/vim/addons/spell/* .
Now VIM should be able to find your spell files.
.vimrc⌗
Add the following to your .vimrc file:
setlocal spell spelllang=en
set spellfile=~/.vim/spellfile.{encoding}.add
With this you enable spell checking for the English language.
key mapping⌗
I’ve added some key mappings to enable Dutch or English checking or to disable it entirely. I’m using control-E for English, control-N for Dutch (nederlands) and control-O for off.
map <C-E> :setlocal spell spelllang=en_us<CR>
imap <C-E> <ESC>:setlocal spell spelllang=en_us<CR>i
map <C-O> :setlocal spell spelllang=<CR>
imap <C-O> <ESC>:setlocal spell spelllang=<CR>i
map <C-N> :setlocal spell spelllang=nl<CR>
imap <C-N> <ESC>:setlocal spell spelllang=nl<CR>i
autocmd For some filetypes want to use a different language, so I also have these:
autocmd Filetype c setlocal spell spelllang=en
autocmd Filetype perl setlocal spell spelllang=en
autocmd Filetype mail setlocal spell spelllang=nl
So my default settings when I’m emailing is to use the Dutch language.
Highlighting⌗
The default highlighting seems to suck, but this guy had a fix. Add the following to your color file are to you .vimrc:
:highlight clear SpellBad
:highlight SpellBad term=standout ctermfg=1 term=underline cterm=underline
:highlight clear SpellCap
:highlight SpellCap term=underline cterm=underline
:highlight clear SpellRare
:highlight SpellRare term=underline cterm=underline
:highlight clear SpellLocal
:highlight SpellLocal term=underline cterm=underline
This gives you some nice underlining, not to fancy, but just enough to make you notice :).
Using it⌗
The following key are important when using VIM spelling:
z=
when a word is spelled incorrectly get a listing of alternativeszG
add the word to the spelling file, it is a Good word.zW
mark the word as bad in the spelling file.
Happy VIM-ing