1

我想自动化 php 应用程序的过程。所以我正在使用这个插件,在启动调试过程(F5)后,它会在命令行中显示这条消息:

等待端口 9000 上的新连接 5 秒...

因此,在抛出该消息之后,我想立即调用我主文件夹中的 bash 脚本。所以我创建了一个这样的关键投标:

map gm <F5> :!sh ~/refresh_browser.sh<enter>

我的问题:由于消息waiting ... 无法在命令行中编写命令。

那么,有没有办法waiting..在执行bash脚本之前清除命令行来删除消息呢?如果没有,你有什么建议?

编辑:在 Ingo Karkat 的回答之后,我终于创建了一个这样的键绑定:

map gm :! ~/my_script.sh &<enter><F5>  

这个脚本:

#!/bin/sh
xdotool windowfocus `xdotool search --name "Mozilla Firefox" | head -1`
sleep 2
xdotool key F5
xdotool windowactivate `xdotool search --name "GVIM" | head -1`
xdotool key F4 #to go to the breakpoint
4

1 回答 1

2

waiting...消息以及您无法发出其他命令的事实意味着 Vim 仍然被阻止;可能,该插件正在执行外部命令或正在轮询某事。由于 Vim 本质上是单线程的,因此您无能为力。(嗯,除了从 Vimscript 迁移到允许并行处理的 Perl、Python、Ruby 等。)

另一方面,您打算启动的 Bash 脚本能够在后台启动其他进程(&附加),因此我建议您颠倒您的预期调用顺序并在插件之前调用脚本。

于 2012-11-08T13:31:18.167 回答