在我的vim插件中,我有两个文件:
myplugin/plugin.vim
myplugin/plugin_helpers.py
我想从plugin.vim导入plugin_helpers(使用vim的python支持),所以我认为我首先需要把我的插件的目录放在python的sys.path上。
我如何(在vimscript中)得到当前正在执行的脚本的路径?在python中,这是__file__
。在ruby中,这是__FILE__
。我在google中找不到任何类似于vim的东西,这能做到吗?
**注意:**我不查找当前 * 编辑 * 的文件(“%:p”和朋友)。
4条答案
按热度按时间voj3qocg1#
我经常使用最后一个,因为我
~/.vimrc
是一个指向git存储库中脚本的符号链接。r9f1avp52#
找到了:
avkwfej43#
值得一提的是,上述解决方案只会在函数之外工作。
这将不会给予所需的结果:
但这将:
以下是OP最初问题的完整解决方案:
imzjd6km4#
如果你真的想在一个函数中得到脚本路径(这也是我想做的),你仍然可以使用
<sfile>
的第二个语义,或者在expand()
中使用它的等价物<stack>
。但是你可能不想在插件中使用它,因为你可以在插件中使用自动加载函数,使用
relative#path#to#plugin#root#script
符号。我将此用于采购目的:
然后,您可以在任何脚本内
SourceLocal
来源化另一个相对于它的脚本。