Kontrola pravopisu v editoru vim

Pro jednoduchou kontrolu pravopisu ve (g)vimu používám ispell a malý skriptík, který vyznačí nerozpoznaná slova.

nastavení je jednoduché, do ~/.vimrc je třeba zapsat následující 2 řádky:

command Spell source `$HOME/.vim/vimspell.sh %`
command NoSpell syntax clear SpellErrors

Obsah souboru ~/.vim/vimspell.sh (za ispellem je vše na jednom řádku, zalomil jsem to kvůli formátování):

#!/bin/sh

INFILE=$1
OUTFILE=`mktemp ${TMPDIR:-/tmp}/vimspell.sh.XXXXXX`
[ -z "$OUTFILE" ] && exit 1

ispell -l -d czech < $INFILE | sort -u |
 awk ' BEGIN { printf "if hlexists(\"SpellErrors\")\n
 syntax clear SpellErrors\nendif\nsyntax case match\n" ; }
{ printf "syntax match SpellErrors \"\\<%s\\>\"\n", $0 ; } END
{ printf "highlight link SpellErrors ErrorMsg\n\n" ; } ' > $OUTFILE

echo "!\\rm $OUTFILE" >> $OUTFILE

echo $OUTFILE

Vlastní kontrola se pak provede spuštěním příkazu Spell případně se vypne pomocí NoSpell