我编写了一个非常简单的vim插件和python脚本,试图测试两者之间的一些通信。我的vim脚本如下所示:
function! HelloWorld()
silent :!python helloworld.py
endf
nmap <C-P> :call HelloWorld()<CR>
然后我的python脚本如下所示:
^{pr2}$如果我在vim中按,请使用“:call HelloWorld()”命令,或者只键入“:”!python地狱世界.py“从同一个或另一个mvim或vim实例来看,什么都没有发生。但是,如果我从命令行单独调用脚本,mvim会相应地响应:显示“helloworld!”沿着底部。在
有人知道为什么从vim调用时它不起作用吗?在
尝试更换
与
^{pr2}$(重点是在远程命令到达之前返回vim)。如果它可以工作,那么问题是在接收shell输出的同时处理远程命令。您还可以尝试其他解决方法:
你说
以及
(注意,最后一个需要使用+python特性编译的vim,并且还改变了vim使用的python解释器的状态)。在
顺便说一下,当您不想看到脚本输出时,请使用}。也可以在
system()
调用而不是{silent !
之后使用redraw!
。在相关问题 更多 >
编程相关推荐