我正在寫一個shell腳本,它利用屏幕一次顯示幾件東西(分割屏幕) 其中一個窗口將是「gui」代碼,它會詢問用戶其他窗口的問題顯示各種進度項目。等待屏幕窗口結束
部分方式通過腳本我有一個需要vim文件。但是這部分代碼位於帶重定向輸入的子shell中。 VIM不能很好地工作在這裏*
所以我想我可以在那裏screen -X screen vim file
的問題是我需要的GUI代碼等到的vim繼續之前退出開闢新的紗窗和負載VIM。 那麼我怎樣才能等待一個特定的屏幕窗口結束,從屏幕內? screen -ls
在這裏不起作用,因爲它只是整個會話中需要監視的幾個窗口之一。
我也看了screen -QX windows
但這似乎中斷Vim會話
*有關vim和子shell:我已經使用exec 3<&1; cat file1 | (read whatever; vim file2 <&3)
嘗試,但這個有一些重大的問題(如不能看對@威廉的評論都是基於該代碼文件的前幾行)
也許你想'vim < /dev/tty >/dev/tty'或'vim --nofork'。儘管你可能想要使用'$ {EDITOR-vim}'。另外,'vim --server'可能會有用。 –
謝謝,現在去試試其中的一些 – DJL
'vim < /dev/tty >/dev/tty'沒有解決,與vim <&3'相同的問題vim --nofork看起來不太有用,它不是vim forking那就是問題(不是),而是'screen -X'立即結束 'vim --server'不存在,但我嘗試了'vim --servername'和'vim --remote'。後者立即退出,所以也沒有幫助:( Actulaly,'vim --remote-wait'作品:D – DJL