我想以VIMHOME
这种方式设置变量(常见于 Windows 和 Linux),
let $VIMHOME=expand("%:p")."/..",
Run Code Online (Sandbox Code Playgroud)
所以VIMHOME
在 Linux中是“~/.vim”或在 Windows 中是“path/to/vimfiles”。
我把它放在一个var.vim
文件中,并将它放在插件目录中。它正确加载,但 VIMHOME 仅设置为“./..”。
如何使用 获取文件的完整路径expand
?
有没有简单的设置方法VIMHOME
?
编辑: 我将表达式更改为:
let $VIMHOME=expand("<sfile>:p:h")
Run Code Online (Sandbox Code Playgroud)
现在,VIMHOME
在 Linux 中设置为“~/.vim/plugin”。
我的要求是将 VIMHOME 设置为“~/.vim”或“path/to/vimfiles”。但,
let $VIMHOME=expand("<sfile>:p:h")
let $VIMHOME=expand("$VIMHOME:p:h")
Run Code Online (Sandbox Code Playgroud)
不管用。
我该如何解决这个问题?
Chr*_*sen 18
把它放在你的var.vim
插件文件中:
let $VIMHOME=expand('<sfile>:p:h:h')
Run Code Online (Sandbox Code Playgroud)
%
在expand将引用正在编辑的文件(即在命令行上给出的路径名)。<sfile>
将指的是“来源”的文件(即在进行扩展时处于活动状态的插件或启动文件)。
该:p
修改使绝对路径和:h
后缀丢弃最后的路径名部分(即在这种情况下,文件名)。
这就是我一直在寻找的,
如果有('win32') || 有('win64') 让 $VIMHOME = $VIM."/vimfiles" 别的 让 $VIMHOME = $HOME."/.vim" 万一