diff options
Diffstat (limited to 'vim/plugin')
-rw-r--r-- | vim/plugin/spellfile_local.vim | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vim/plugin/spellfile_local.vim b/vim/plugin/spellfile_local.vim new file mode 100644 index 00000000..583df986 --- /dev/null +++ b/vim/plugin/spellfile_local.vim @@ -0,0 +1,26 @@ +if exists('loaded_spellfile_local') + finish +endif +let loaded_spellfile_local = 1 + +EnsureDir $MYVIM/cache/spell + +let spellfile = join([ + \ substitute(v:lang, '_.*', '', ''), + \ &encoding + \ ], '.') . '.add' +execute 'set spellfile=$MYVIM/cache/spell/'.spellfile + +EnsureDir $MYVIM/cache/spell/local + +function! AddLocalSpellfile() abort + let spellfile = join([ + \ substitute(expand('%:p'), '[^0-9A-Za-z_.-]', '%', 'g'), + \ substitute(v:lang, '_.*', '', ''), + \ &encoding + \ ], '.') . '.add' + setlocal spellfile< + execute 'setlocal spellfile+=$MYVIM/cache/spell/local/'.spellfile +endfunction! +autocmd vimrc BufRead * + \ call AddLocalSpellfile() | nnoremap <buffer> zG 2zg |