Way*_*ner 5 python vim subprocess
我试图使用子进程调用Vim,并传递一个参数.例如:
subprocess.call(['gvim.exe', ''' "+map <F5> :echo 'Hello!'<cr>" '''])
Run Code Online (Sandbox Code Playgroud)
此命令适用于命令行:
> gvim.exe "+map <F5> :echo 'Hello!'<cr>"
Run Code Online (Sandbox Code Playgroud)
然后我打了F5它,它告诉我你好.
子进程调用不起作用.当我在任务管理器中查看进程时,我看到我的字符串现在是:
"\" +map <F5> :echo 'Hello!'<cr>\""
Run Code Online (Sandbox Code Playgroud)
完全不是我的预期,我也不认为这是Vim所期望的.它看起来像子以某种方式逃避我的报价,但我不知道为什么.
有什么方法可以像我期望的那样让它发挥作用吗?
引号不是必需的,因为subprocess.call直接将参数传递给进程而不使用shell(除非你设置shell=True).
那么,subprocess.call(['gvim.exe', "+map <F5> :echo 'Hello!'<cr>"])就足够了.
| 归档时间: |
|
| 查看次数: |
4059 次 |
| 最近记录: |