Aqui está minha configuração:
- Meu diretório .vim está sob controle de origem com git
- Eu uso o Pathogen para gerenciar meus plugins
- Meu plug-in do SnipMate é um submódulo do git em
.vim/bundle/snipmate
Isso significa que não posso realmente editar os snippets em .vim/bundle/snipmate/snippets
porque eles não são rastreados. Descobri que posso definir meus próprios snippets personalizados em .vim/snippets
ou criar um novo diretório .vim/bundle/snipmate-custom/snippets/
e defini-los lá.
Isso funciona lindamente no linux. Por exemplo, posso ter o arquivo original html.snippets
em .vim/bundle/snipmate/snippets
e meu próprio html.snippets
em .vim/snippets/
e vim usará os dois arquivos.
No Windows, observei que criar outro diretório de snippets (em .vim/snippets/
ou em .vim/bundle/snipmate-custom/snippets/
quebra o plug-in. A conclusão da tabulação não funciona mais - ele ignora os snippets originais que acompanham o plug-in e os que no novo repositório.
Alguma idéia do porquê isso está acontecendo?
Estou executando o Vista e minha configuração do vim está em %USERPROFILE%\.vim
. Eu tenho a pasta vimfiles vinculada a esse diretório usando:
mklink /d vimfiles .vim
Todos os outros plugins funcionam. O Shipmate funciona perfeitamente desde que o diretório .vim/snippets
não exista. A configuração acima funciona bem no Ubuntu e no Mac. Alguma idéia de por que ele quebra no Windows?
EDITAR
Eu poderia ter respondido minha própria pergunta. Consegui contornar esse problema dizendo explicitamente ao snipmate quais diretórios usar:
if has('win32')
let g:snippets_dir="c:/Users/me/.vim/bundle/snipmate/snippets/,
c:/Users/me/.vim/bundle/snipmate-custom/snippets"
endif
Não é a solução mais elegante, mas funciona. Deixe-me saber se você descobrir uma maneira melhor de fazer isso.