代码之家  ›  专栏  ›  技术社区  ›  René Nyffenegger

在vim中处理源文件的最优雅的方法是什么?

vim
  •  3
  • René Nyffenegger  · 技术社区  · 14 年前

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

    现在,我有一个目录
    /other/path/to/vim/files
    包含 sourceA.vim . 另外,还有一个 sourceB.vim 文件在
    /other/path/to/vim/files/lib/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和sourceb.vim放入vim的 plugin 文件夹。

    1 回复  |  直到 14 年前
        1
  •  5
  •   dsummersl    14 年前

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

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

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

    runtime lib/sourceB.vim
    

    然后您可以使用与之前相同的“:so/../../../sourcea.vim”命令…