# 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](http://packages.debian.org/experimental/source/vim-spellfiles).

I needed Dutch so I downloaded:

[/main/v/vim-spellfiles/vim-spellfiles-nl_20060604-1_all.deb](http://ftp.nl.debian.org/debian/pool/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](http://www.zabbo.net/post/spell-checking-and-vim-syntax-highlighting/)
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 alternatives
* `zG`
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

