From: Samir Benmendil Date: Tue, 11 Feb 2014 23:26:51 +0000 (+0100) Subject: vim: spell tricks X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/a7d04a2d64559bceb74a6b11cdabbcb57f93b4d6?ds=inline vim: spell tricks toggle spell with \s switch between languages with \S --- diff --git a/vim/vimrc b/vim/vimrc index 8d37bfc..de0b428 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -92,19 +92,28 @@ set spelllang=en_gb " list of accepted languages set dictionary=spell " list of dictionary files for keyword completion " Spell Check http://tex.stackexchange.com/a/52932 let b:myLang=0 -let g:myLangList=["nospell","en_gb","en_us","de","fr"] +let g:myLangList=["en_gb","en_us","de","fr"] + function! ToggleSpell() - let b:myLang=b:myLang+1 - if b:myLang>=len(g:myLangList) | let b:myLang=0 | endif - if b:myLang==0 - setlocal nospell - else - execute "setlocal spell spelllang=".get(g:myLangList, b:myLang) + execute "setlocal spell!" + if (&spell) + echo "setlocal spelllang=" g:myLangList[b:myLang] + endif +endfunction +nnoremap s :call ToggleSpell() + +function! SwitchSpell() + if (&spell) + let b:myLang=b:myLang+1 + if b:myLang>=len(g:myLangList) | let b:myLang=0 | endif endif - echo "spell checking language:" g:myLangList[b:myLang] + execute "setlocal spell spelllang=".get(g:myLangList, b:myLang) + echo "setlocal spelllang=" g:myLangList[b:myLang] endfunction -map :call ToggleSpell() -imap :call ToggleSpell() +nnoremap S :call SwitchSpell() + +" fix spelling with first choice +nnoremap f 1z= if has("autocmd") au Filetype *