在vim中清除命令行?

时间:2012-11-08 13:13:21

标签: vim

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

  

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

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

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

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

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

编辑:在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

1 个答案:

答案 0 :(得分:2)

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

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