Snipmate + Pathogen + Git - Benutzerdefinierte Snippets funktionieren nicht unter Windows

1166
Tuxmentat

Hier ist mein Setup:

  1. Mein .vim-Verzeichnis befindet sich unter Quellcodeverwaltung mit git
  2. Ich verwende Pathogen zur Verwaltung meiner Plugins
  3. Mein SnipMate-Plugin ist ein git-Submodul unter .vim/bundle/snipmate

Das bedeutet, dass ich die Ausschnitte nicht wirklich bearbeiten kann, .vim/bundle/snipmate/snippetsda sie nicht verfolgt werden. Ich habe entdeckt, dass ich eigene benutzerdefinierte Ausschnitte in definieren .vim/snippetsoder ein neues Verzeichnis erstellen .vim/bundle/snipmate-custom/snippets/und dort definieren kann.

Dies funktioniert wunderbar unter Linux. Zum Beispiel kann ich die Originaldatei haben html.snippetsin .vim/bundle/snipmate/snippetsund meine eigenen html.snippetsin .vim/snippets/und vim werden beide Dateien verwenden.

Unter Windows ist mir aufgefallen, dass das Erstellen eines weiteren Snippets-Verzeichnisses (entweder im .vim/snippets/oder im .vim/bundle/snipmate-custom/snippets/Plug-In das Plugin bricht. Die Tab-Fertigstellung funktioniert nicht mehr - es ignoriert sowohl die ursprünglichen Snippets, die mit dem Plugin geliefert wurden, als auch die im neuen Repository.

Irgendeine Idee, warum das passiert?

Ich verwende Vista und meine vim config ist in %USERPROFILE%\.vim. Ich habe einen vimfiles-Ordner, der mit diesem Verzeichnis verknüpft wurde.

mklink /d vimfiles .vim

Jedes andere Plugin funktioniert. Shipmate funktioniert einwandfrei, sofern das .vim/snippetsVerzeichnis nicht existiert. Das obige Setup funktioniert gut auf Ubuntu und Mac. Irgendeine Idee, warum es unter Windows kaputt geht?

BEARBEITEN

Ich könnte meine eigene Frage beantwortet haben. Ich konnte dieses Problem umgehen, indem ich Snipmate explizit mitteilte, welche Verzeichnisse verwendet werden sollten:

 if has('win32') let g:snippets_dir="c:/Users/me/.vim/bundle/snipmate/snippets/, c:/Users/me/.vim/bundle/snipmate-custom/snippets" endif 

Nicht die eleganteste Lösung, aber es funktioniert. Lassen Sie mich wissen, wenn Sie einen besseren Weg finden, dies zu tun.

1

1 Antwort auf die Frage

0
Tuxmentat

Ich habe meine eigene Frage beantwortet. Ich konnte dieses Problem umgehen, indem ich Snipmate explizit mitteilte, welche Verzeichnisse verwendet werden sollten:

 if has('win32') let g:snippets_dir="c:/Users/me/.vim/bundle/snipmate/snippets/, c:/Users/me/.vim/bundle/snipmate-custom/snippets" endif