从特定分支安装插件

Install plugin from specific branch

我正在使用 vundle 安装 vim 插件,但我需要从分支 fix-vim-eval-returning-py2-str 安装 YouCompleteMe 因为我必须使用 python3否则我会出错。

要做到这一点,我已经通过 :PluginInstall 下载了带有 vundlemaster 分支,然后我必须这样做:

cd ~/.vim/bundle
rm -rf YouCompleteMe
git clone -b fix-vim-eval-returning-py2-str https://github.com/puremourning/YouCompleteMe.git 
cd YouCompleteMe
git submodule update --init --recursive

要更改分支。

问题是有时 vundle 会用 master 替换我的早午餐(这与我的系统不兼容),我必须在我的 .vimrc 或插件上保留 Plugin 'Valloric/YouCompleteMe' 行不起作用。我该如何解决?

您可以在仍然使用 Vundle 的同时完成这项工作。使用 git 手动切换克隆的分支后,将 Plugin 行替换为:

Plugin 'Valloric/YouCompleteMe', {'pinned': 1}

The 'pinned' option “告诉 Vundle 不要执行任何 git 对插件的操作,同时仍将现有插件添加到 bundles 目录到 runtimepath。”因此,当您 :PluginUpdate 时,Vundle 不会再干扰您的 YouCompleteMe 克隆,它只会加载插件。

请注意,此设置意味着您必须使用插件目录中的 git pull 自行更新 YouCompleteMe。