2012-11-08 53 views
0

我想將一個進程自動化爲php應用程序。所以我使用這個插件,啓動調試過程中(F5)後,它顯示在命令行此消息:在vim中清除命令行?

等待在端口9000建立新連接5秒......

因此,之後立即拋出該消息,我想調用一個在我的home文件夾中的bash腳本。所以,我創建了一個關鍵的招投標是這樣的:

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

我的問題:因爲消息waiting ...是不可能在命令行寫命令。

那麼,有沒有什麼辦法可以在執行bash腳本之前清除命令行以刪除waiting..消息?如果沒有,你有什麼建議?

編輯:後英戈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 
+0

'控制''z' ...做一些東西...'fg%1':\呃呃呃...我更喜歡你的解決方案,所以你留在vim。順便說一下,你應該回答你的問題。它會更明顯。 – dylnmc

回答

2

waiting...消息,事實上,你不能發出額外的命令意味着Vim仍然被阻塞;可能,該插件正在執行外部命令或正在輪詢某些內容。由於Vim本質上是單線程的,因此您無法在其中執行任何操作。 (好吧,除了從Vimscript轉到允許並行處理的Perl,Python,Ruby等)。

另一方面,您打算啓動的Bash腳本能夠啓動其他進程背景(附加&),所以我建議你將你想要的調用順序顛倒過來,並在插件之前調用腳本。