[英]Pass function and arguments from node to python, using child_process
[英]Using vimrc function to pass python arguments
我正在尝试创建将在autocmd
使用的vimrc函数。 该函数必须简单地调用python脚本并将文件名作为参数传递。
.vimrc
fu! Test(filename)
let filename = expand("%:t")
"echom filename
!test.py filename
example.py
#!usr/bin/python
import sys
print sys.argv[1]
如果我取消注释回显行,则example.py
将正确回显。 但是,如果我尝试执行上面显示的内容,则字符串filename
名将按字面传递。
有没有办法解决?
当然,您可以使用execute
命令执行一个字符串,该字符串是根据您想要的命令和变量串联而成的:
fu! Test()
let filename = expand("%:t")
execute "!test.py " . l:filename
endfunction
我已经在您的Test
函数中省略了filename参数,因为它似乎没有被使用
您有两个选择,要么直接将文件名作为参数传递,要么将其作为局部变量传递:
fu! Test(filename)
"echom a:filename
execute "!test.py ".a:filename
要么
fu! Test()
let l:filename = expand("%:t")
"echom filename
execute "!test.py ". l:filename
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.