如何获取正在执行的当前vimscript的路径

在我的vim插件中,我有两个文件
myplugin/plugin.vim
myplugin/plugin_helpers.py

我想从plugin.vim(使用vim python支持)导入plugin_helpers,所以我相信我首先需要把我的插件的目录在python的sys.path。

我如何(在vimscript)获得当前执行脚本的路径?在python中,这是__file__。在ruby中,它是__FILE__。我找不到类似的vim通过谷歌,可以做到吗?

注意:我不是在寻找当前编辑的文件(“%:p”和朋友)。

" Relative path of script file:
let s:path = expand('<sfile>')

" Absolute path of script file:
let s:path = expand('<sfile>:p')

" Absolute path of script file with symbolic links resolved:
let s:path = resolve(expand('<sfile>:p'))

" Folder in which script resides: (not safe for symlinks)
let s:path = expand('<sfile>:p:h')

" If you're using a symlink to your script,but your resources are in
" the same directory as the actual script,you'll need to do this:
"   1: Get the absolute path of the script
"   2: Resolve all symbolic links
"   3: Get the folder of the resolved absolute file
let s:path = fnamemodify(resolve(expand('<sfile>:p')),':h')

我使用最后一个经常,因为我的〜/ .vimrc是一个符号链接到Git存储库中的脚本。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...