2014-05-20 125 views
0

我喜欢使用NERDTree书签功能,但对于我正在开发的当前软件,我有几个积极开发的版本可供我切换。我选择使用模块系统来处理设置环境变量和编译器,我想知道是否可以让我的模块根据环境变量编辑我的〜/ .NERDTreeBookMarks路径。Vim插件NERDTree基于环境变量的动态书签

是否有干净方式做到这一点除了有一个脚本搜索和基于特定的环境变量,在我的〜/ .NERDTreeBookMarks文件替换文本?

+0

根据您的ENV变量内容使用'ln -fs源目标'不能解决您的问题吗? – NeronLeVelu

回答

1

我会建议改用$CDPATH,在你的.bashrc/zshrc设置它,然后将它添加到你的vimrc:

let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g') 

然后,你不需要任何的书签,你可以简单地:cd dir和意志只要目录位于cdpath或当前工作目录中的目录中就行。

+0

这将允许我为一个目录设置“书签”,是否正确?我有几个文件,我书签传播到代码目录。这只是开始编写特定版本的快速方法。我只想加载模块,打开vim,并打开我正在查看的文件的5-6个选项卡。 – ben

+1

您不需要此解决方案的书签。 –

+0

对不起。我不知道CDPATH。我读了它并试用了它。这是一种替代解决方案,但我认为这不是一个特别干净的解决方案。编辑我的cdpath以包含这些目录将使终端会话中的tab完成无效(这是一个非常大的协作项目)。如果我们正在考虑替代解决方案,我会说总体目标是能够在不同版本之间切换,并以最少的击键打开vim选项卡中的所有相关文件。也许我应该研究tmux,并保持许多会话运行。 – ben