Questão Snipmate + Pathogen + Git - Snippets personalizados não funcionam no Windows


Aqui está minha configuração:

  1. Meu diretório .vim está sob controle de origem com git
  2. Eu uso o Pathogen para gerenciar meus plugins
  3. Meu plugin SnipMate é um submódulo 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 .vim/snippetsou crie um novo diretório .vim/bundle/snipmate-custom/snippets/ e defini-los lá.

Isso funciona lindamente no linux. Por exemplo, eu posso ter o arquivo original html.snippets dentro .vim/bundle/snipmate/snippets e meu próprio html.snippets dentro .vim/snippets/ e o vim usará os dois arquivos.

No Windows eu notei que criar outro diretório de trechos (ou em .vim/snippets/ ou em .vim/bundle/snipmate-custom/snippets/ quebra o plugin. A conclusão da tabulação não funciona mais - ela ignora os snippets originais que acompanham o plug-in e os que estão no novo repositório.

Alguma ideia do porquê isso está acontecendo?

Estou rodando 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. Shipmate funciona perfeitamente desde o .vim/snippets diretório não existe. A configuração acima funciona bem no Ubuntu e no Mac. Alguma idéia porque quebra no Windows?

EDITAR

Eu poderia ter respondido minha própria pergunta. Consegui contornar este 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.


1


origem




Respostas:


Eu respondi minha própria pergunta. Consegui contornar este 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

0