使用vimrc函数传递python参数

2024-04-19 03:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个将在autocmd中使用的vimrc函数。函数必须简单地调用python脚本并将文件名作为参数传递。在

.vimrc

fu! Test(filename)
    let filename = expand("%:t")
    "echom filename
    !test.py filename

示例.py

^{2}$

如果我取消对echo行的注释,example.py是正确的echo'd。但是,如果我尝试按上面显示的方式执行,字符串filename将按字面方式传递。在

有什么办法吗?在


Tags: 函数pytestecho脚本文件名方式filename
2条回答

有两个选项:直接将文件名作为参数传递,或将其作为局部变量传递:

fu! Test(filename)
    "echom a:filename
    execute "!test.py ".a:filename

或者

^{pr2}$

当然,您可以使用execute命令来执行一个字符串,该字符串是根据您想要的命令和连接在一起的变量生成的:

fu! Test()
    let filename = expand("%:t")
    execute "!test.py " . l:filename
endfunction

我省略了Test函数中的filename参数,因为它似乎没有被使用

相关问题 更多 >