处理源自VIM源文件(相对)源文件的最优雅方法是什么?

时间:2010-03-01 17:55:24

标签: vim

我正在编辑一个像
的文件 /path/to/file.txt
使用vim,因此当前目录为
/path/to

现在,我有一个目录
/other/path/to/vim/files
包含sourceA.vim。此外,还有一个sourceB.vim文件 /other/path/to/vim/files/lib/sourceB.vim

sourceA.vim,我想要sourceB.vim来源,所以我放了一个 so lib/sourceB.vim
进入它。

现在,在我的file.txt中,我做了一个 :so /other/path/to/vim/files/sourceA.vim
这是失败的,因为采购系统显然没有为相对路径名准备以及从另一个目录中采购。

为了解决这个问题,我放了一个 execute "so " . expand("<sfile>:p:h") . "/lib/sourceB.vim"
进入sourceA.vim,做我想做的事。

然而,我发现解决方案有点笨拙,并且想知道是否有更优雅的解决方案。

我无法将sourceA.vim和sourceB.vim放入vim的plugin文件夹中。

1 个答案:

答案 0 :(得分:5)

也许你可以在你的vimrc或其他地方修改你的运行路径:

set runtimepath+=/other/path/to/vim/files

然后在sourceA.vim文件中使用:runtime而不是:source:

runtime lib/sourceB.vim

然后您可以像以前一样使用相同的“:so /../../../sourceA.vim”命令...