我正在编辑文件,如下所示
/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文件夹。
发布于 2010-03-09 13:00:53
也许你可以在你的vimrc或者其他地方修改你的runtimepath:
set runtimepath+=/other/path/to/vim/files然后在sourceA.vim文件中使用:runtime而不是:source:
runtime lib/sourceB.vim然后,您可以使用与前面相同的":so /../sourceA.vim“命令...
https://stackoverflow.com/questions/2357874
复制相似问题