Você deve usar :setlocal filetype=cpp
em vez de :set syntax=cpp
, mas isso ainda não ajuda aqui.
O problema é que 'iskeyword'
está definido em $VIMRUNTIME/syntax/forth.vim
, mas não usa o mecanismo b:undo_ftplugin
para desfazer isso quando o tipo de arquivo é alterado (para cpp
), então a opção modificada continua.
Corrigir A
Se você nunca precisar editar *.fs
arquivos como Forth, poderá sobrescrever a detecção padrão de tipo de arquivo . Basicamente, crie um arquivo ~/.vim/filetype.vim
com o seguinte conteúdo:
augroup filetypedetect
au BufNewFile,BufRead *.fs setf cpp
augroup END
Veja :help filetype-detect
(e parágrafos seguintes) para detalhes. Esta é a configuração mais eficiente.
Corrigir B
Como alternativa, você pode corrigir a omissão do script de sintaxe por meio de um arquivo ~/.vim/ftplugin/forth.vim
com este conteúdo:
let b:undo_ftplugin = 'setlocal iskeyword<'