与你们许多人一样,我的自定义 Vim 配置存储在我的 中~/.vimrc
,插件、颜色等存储在~/.vim/plugins
、~/.vim/colors
等下。
我想在多台服务器之间共享一个 Vim 配置。其中一些服务器运行 Vim 7,一些运行较旧的 Vim 6。大多数 Vim 插件适用于 Vim 7,但对于使用较旧系统的用户,旧版本仍然存在。请参阅目录差异举个例子。
如果我的系统运行的是 Vim 6,我该如何配置 Vim 以仅使用与 Vim 6 兼容的插件?
我正在考虑将旧的插件存储在类似的子目录中~/.vim/plugins6/
,并将 Vim 插件保留在中~/.vim/plugins
,但是我该如何告诉 Vim6 忽略~/.vim/plugins
并使用~/.vim/plugins6
呢?
答案1
在您的 .vimrc 中,您必须检查 vim 版本,并相应地更新您的 &runttimepath。
编辑:
我的错误。Vim 目录结构是硬编码的。相反,你应该有一个~/.vim6
目录,其中包含指向除 和 之外的所有目录的符号链接,´/.vim
并且你应该在 .vimrc 中添加以下内容:plugin/
after/plugin
if version < 700
let &rtp=substitute(&rtp, '\.vim', '&6', 'g')
endif
答案2
我会尝试这样做:
HOME=<customdir1> <vim binary version1>
HOME=<customdir2> <vim binary version2>
家是这里的环境变量。为了方便起见,您可以将这些调用包装到 shell 脚本中。
这种通用方法通常很有效。
答案3
您可以让 vimrc 检查 vim 版本,然后从特定文件夹中获取所有插件。
if &loadplugins
if v:version >= 700
runtime! plugin7/*.vim
runtime! plugin7/**/*.vim
elseif v:version >= 600
runtime! plugin6/*.vim
runtime! plugin6/**/*.vim
endif
endif