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()