如何获取 Vim 主目录?

如何获取 Vim 主目录?

我想以VIMHOME这种方式设置变量(Windows 和 Linux 通用),

let $VIMHOME=expand("%:p")."/..",

因此VIMHOME在 Linux 中是“~/.vim”,在 Windows 中是“path/to/vimfiles”。

我将其放入一个var.vim文件中,并将其放在插件目录中。它加载正常,但 VIMHOME 仅设置为“./..”

如何使用获取文件的完整路径expand

有没有简单的方法来设置VIMHOME

编辑: 我把表达方式改成:

let $VIMHOME=expand("<sfile>:p:h")

现在,VIMHOME在Linux中设置为“~/.vim/plugin”。

我的要求是将 VIMHOME 设置为“~/.vim”或“path/to/vimfiles”。但是,

let $VIMHOME=expand("<sfile>:p:h")
let $VIMHOME=expand("$VIMHOME:p:h")

不管用。

我该如何解决这个问题?

答案1

将其放入你的var.vim插件文件中:

let $VIMHOME=expand('<sfile>:p:h:h')

%扩张将引用正在编辑的文件(即,命令行中给出的路径名)。<sfile>将引用正在“来源”的文件(即,扩展时处于活动状态的插件或启动文件)。

修饰符:p使路径名成为绝对路径,:h后缀删除路径名的最后一个部分(即本例中的文件名)。

答案2

这就是我所寻找的,

如果有('win32')||有('win64')
    让 $VIMHOME = $VIM。"/vimfiles"
别的
    让 $VIMHOME = $HOME。"/.vim"
万一

相关内容