Плагины Vim не работают с патогеном

У меня есть компьютер с Windows 7, на котором я недавно установил Git (с Vim внутри каталога Git). Я попробовал установить патоген, и, видимо, он установлен правильно, поскольку в автозагрузке нет сообщений об ошибках с патогеном. Мой _vimrc находится в папке Users/Username, которая находится в $HOME, и следующее относится к патогену.

execute pathogen#infect() //_vimrc starts with this line
call pathogen#helptags()
syntax on
filetype plugin indent on

путь к автозагрузке и пакету: C:/progra~1/git/usr/share/vim/vim74/autoload(и vim74/bundle)

Когда я клонирую плагин (например, NerdTree) для сборки, при открытии Vim появляется следующее сообщение.

Error detected while processing /usr/share/vim/vim74/bundle/nerdtree/plugin/NERD_tree.vim:
line   16:
E15: Invalid expression: exists("loaded_nerd_tree")^M
line  211:
E171: Missing :endif

Я также начинаю сеанс в vim и использую

:help NERD_tree.txt 

но он возвращает "Извините, нет помощи для NERD_tree.txt"

Кто-нибудь знает, в чем причина проблемы и есть ли решение?


person Charles    schedule 02.09.2015    source источник


Ответы (1)


Первый

Вся ваша конфигурация должна происходить в $HOME/.vim/ (плагины, цветовые схемы и т. д.) и $HOME/.vimrc (опции, сопоставления и т. д.). Также обратите внимание, что, начиная с Vim 7.4, можно иметь vimrc непосредственно внутри $HOME/.vim/, что еще больше упрощает управление вашей конфигурацией.

Все, что вы сделали в /usr/share/vim/, должно быть отменено как можно скорее.

Второй

Но ваша проблема вызвана окончаниями строк: в процессе клонирования используемые автором — lf — заменены на стандартные в Windows — crlf. Поскольку Vim принимает только lf, он не смог получить ваш плагин.

Причиной, скорее всего, является значение core.autocrlf в настройках Git.

Приведенная ниже команда должна предотвратить преобразование Git lf в crlf после checkout/clone/pull/и т. д.:

 git config --global core.autocrlf false
person romainl    schedule 03.09.2015
comment
Спасибо! это сработало. Что касается usr/share/vim, это было по умолчанию. Когда я установил Git, так появился Vim. Когда я установил патоген в автозагрузку в этой папке, он сработал, но когда я попытался с папкой vim в $ HOME, он не принял это во внимание. - person Charles; 03.09.2015
comment
У меня также была такая же проблема с окончаниями строк. Для меня это было :set ff=mac в оскорбительном файле nerdtree, который сделал это. - person Koshmaar; 12.11.2015
comment
На самом деле это помогло с vim, который перестал кричать о ^M, но плагин не загружался должным образом. Поэтому мне пришлось удалить nerdtree и заново скачать с измененным autocrlf на false. - person Koshmaar; 12.11.2015