1

Вот моя установка:

  1. Мой каталог .vim находится под контролем исходного кода с помощью git
  2. Я использую Pathogen для управления своими плагинами
  3. Мой плагин SnipMate - это подмодуль git в .vim/bundle/snipmate

Это означает, что я не могу действительно редактировать фрагменты в .vim/bundle/snipmate/snippets потому что они не отслеживаются. Я обнаружил, что могу определить свои собственные пользовательские фрагменты в .vim/snippets или создать новый каталог .vim/bundle/snipmate-custom/snippets/ и определить их там.

Это прекрасно работает на Linux. Например, у меня может быть оригинальный файл html.snippets в .vim/bundle/snipmate/snippets а мой собственный html.snippets в .vim/snippets/ и vim будет использовать оба файла.

В Windows я заметил, что создание другого каталога сниппетов (либо в .vim/snippets/ либо в .vim/bundle/snipmate-custom/snippets/ нарушает плагин). Завершение вкладки больше не работает - оно игнорирует как исходные фрагменты, которые пришли с плагином, так и те, что в новом репозитории.

Есть идеи, почему это происходит?

Я использую Vista, и моя конфигурация vim находится в %USERPROFILE%\.vim . У меня есть папка vimfiles, которая связана с этим каталогом с помощью:

mklink /d vimfiles .vim

Каждый другой плагин работает. Shipmate отлично работает при условии, что .vim/snippets не существует. Вышеуказанная настройка отлично работает на Ubuntu и Mac. Есть идеи, почему он ломается на Windows?

РЕДАКТИРОВАТЬ

Я мог бы ответить на свой вопрос. Мне удалось обойти эту проблему, явно указав snipmate, какие каталоги использовать:

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

Не самое элегантное решение, но оно работает. Дайте мне знать, если вы найдете лучший способ сделать это.

1 ответ1

0

Я ответил на свой вопрос. Мне удалось обойти эту проблему, явно указав snipmate, какие каталоги использовать:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .