Dividir .vimrc, onde colocar o que?

1

Eu tenho um monte de tipos de arquivos dependentes autocommands no meu .vimrc , alguns dos quais são relacionados a sintaxe.

Eu gostaria de colocá-los em um arquivo separado em toda a minha árvore .vim/ , por exemplo. alguma sintaxe tex iria em .vim/syntax/tex.vim , mas quando eu faço isso, vim não atende mais.

Eu estou supondo que os arquivos não são lidos automaticamente (como eu esperava). O que devo fazer?

    
por romeovs 24.05.2011 / 14:39

1 resposta

3

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.

    
por 24.05.2011 / 17:46

Tags