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

1

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 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.

    
por Tuxmentat 20.03.2012 / 01:16

1 resposta

0

Respondi à 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
    
por 29.07.2013 / 16:11