我想以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" 万一