vim - 在 VIM 中处理本身是源(相对)源文件的源文件的最优雅的方法是什么?

标签 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 中文件夹。

最佳答案

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

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

然后在 sourceA.vim 文件中使用 :runtime 代替 :source:

runtime lib/sourceB.vim

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

关于vim - 在 VIM 中处理本身是源(相对)源文件的源文件的最优雅的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357874/

相关文章:

vim - 将 vim 的 vertsplit 字符更改为 │

vim - 基于单个字符缩进一段代码

vim - 如何将我在 vim 中打开的文件保存为错误的用户?

vim - 如何在vim中的垂直选择中搜索和替换?

c++ - 根据 vim 中的语法更改折叠级别

无法将文件名分配给vim中的环境变量

c - Vim 中的自动关闭和自动缩进冲突

vim - 为什么我的 gnome 终端无法设置颜色方案

vim - 如何避免在 vim 启动时出现 "Added cscope database"

macos - 粘贴到 vi 时丢失文本