Eu apenas dei uma rápida olhada nesses dois arquivos e, pelo que sei, parece que o mapeamento é feito corretamente no xml
plugin:
inoremap <silent> <buffer> > ><Esc>:call <SID>CloseTagFun()<Cr>
enquanto isso é feito incorretamente no plug-in omnicppcomplete
:
inoremap <expr> > omni#cpp#maycomplete#Arrow()
Ao fazer esse tipo de mapeamento, os autores de plug-in devem tentar restringir seu escopo o máximo possível: mapeamentos específicos de tipo de arquivo devem ser locais de buffer, usando <buffer>
como no primeiro exemplo.
Como está, dependendo de como você carregou seus arquivos, o mapeamento cpp
pode ter precedência sobre o mapeamento xml
, porque parece ser aplicado de forma muito ampla a toda a instância Vim, em vez de cpp
buffers. / p>
Além disso, o plug-in omnicppcomplete
não usa ftplugin
, o que é o tipo de norma para itens específicos do tipo de arquivo.
Como uma solução imediata, sugiro que você adicione <buffer>
ao mapeamento cpp
e, se isso funcionar, tente entrar em contato com o autor e convencê-lo a modificar o plug-in.
inoremap <buffer> <expr> > omni#cpp#maycomplete#Arrow()