如何将参数从 vimscript 函数传递到 python 接口?

How to pass arguments from vimscript functions to python interface?

例如,处理位置参数:

function! Example(arg)
python <<_EOF_

# do something with a:arg

_EOF_
endfunction

或...列表:

function! Example(...)
python <<_EOF_

# do something with a:000, a:1, a:2, etc.

_EOF_
endfunction

有什么办法可以做到吗?

您可以通过 vim.eval():

像任何其他 Vimscript 表达式一样检索函数参数
function! Example(arg)
python << _EOF_

import vim
print "arg is " + vim.eval("a:arg")

_EOF_
endfunction