Vim 插件不适用于病原体

Vim plugins not working with pathogen

我有一台 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 

但是 returns "Sorry, no help for NERD_tree.txt"

有没有人知道是什么导致了这个问题并有解决方案?

第一

您的所有配置都应该在 $HOME/.vim/(插件、配色方案等)和 $HOME/.vimrc(选项、映射等)中进行。另请注意,自 Vim 7.4 起,可以将您的 vimrc 直接放在 $HOME/.vim/ 中,这使得管理您的配置更加容易。

您在 /usr/share/vim/ 中所做的一切都应尽快恢复。

第二

但是您的问题是由行尾引起的:克隆过程将作者使用的行尾 — lf — 更改为 Windows 上的标准行尾 — crlf。因为 Vim 只接受 lf 它无法获取您的插件。

原因很可能是您 Git 设置中 core.autocrlf 的值。

下面的命令应该防止 Git 在 checkout/clone/pull/等时将 lf 转换为 crlf

 git config --global core.autocrlf false