我正在写一个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