Você colocou os comandos automáticos nesses arquivos separados como autocommands? Ou seja, o seu ~/.vim/syntax/tex.vim
contém linhas como esta,
au FileType tex set expandtab
ou isso,
au BufRead,BufNewFile *.tex set expandtab
Se sim, está errado. O Vim origina os arquivos nos diretórios ftplugin, syntax e indent quando um arquivo do tipo de arquivo correspondente ao nome do plugin é aberto. Se o plug-in contiver comandos automáticos, esses comandos automáticos serão lidos e executados, mas a parte do comando não será executada até o momento seguinte em que o evento acionador ocorrer.
Se você quiser fazer alguma configuração dependente do tipo de arquivo, coloque um comando como este no ftplugin para esse tipo de arquivo.
setlocal expandtab
Não coloque em um autocommand e use setlocal
em vez de apenas set
, para que a configuração se aplique ao buffer que contém esse tipo de arquivo e não se aplique a todos os seus buffers Vim.
Veja
:help 43.1
:help 41.11
Editar
Esqueci de responder a outra parte da pergunta. O Vim tem três tipos de plugins dependentes do tipo de arquivo que vão em três subdiretórios diferentes de ~ / .vim: ftplugin, sintaxe e indent. O subdiretório indent é destinado a plug-ins que afetam o recuo de tipos de arquivos específicos. O subdiretório de sintaxe é destinado a plug-ins que afetam a coloração da sintaxe. O ftplugin é destinado a plugins que afetam configurações comportamentais, como largura de texto, mapeamentos, abreviações e outros.