October 02, 2015
I have never been a good speller, therefore I rely on spell check to help ensure that my writing doesn't contain basic spelling errors. Most modern software that is centered around text provides spell checking. However I do most of my writing, including all of the posts on Zanshin.net, using Vim - a decidedly un-modern text editor.
Fortunately Vim is incredibly flexible and it is relatively straight-forward to enable spell checking.
You can turn spell checking on or off with
set spell set nospell
The default language used is US English. You can change this to another language with
The above example sets the language to British English.
.vimrc I have a number of file type specific settings, including spell checking. I only enable spell checking for a limited number of file types, as spell checking code isn't very useful. The three
autocmd entries I have are:
autocmd FileType mail setlocal spell spelllang=en_us autocmd BufRead COMMIT_EDITMSG setlocal spell spelllang=en_us autocmd BufNewFile,BufRead *.md,*.mkd,*.markdown set spell spelllang=en_us
The first is for when I'm using mutt for my mail - it turns spell checking on while I'm composing or replying to messages. The second activates spell check for Git commit messages. The last autocmd set spelling on for Markdown files.
It is possible to add words to your own dictionary using the
zg key combination. You can undo the add with
zug. It is also possible to mark a word as incorrectly spelled using
zuw undoes the incorrect marking.
You can jump forwards or backwards through the buffer to the next flagged work using
Once you've located a word,
z= will bring up the list of suggested words, pick the associated number and press return and the new word will be substituted in for the old one.
All of this and more can be found in the Vim help pages