2

私は、vimをスクリプト化してgnu画面の「ウィンドウ」にメッセージを送信する方法を理解しようとしています。つまり、スクリーンセッションを開いており、一方のウィンドウにはvimセッションがあり、もう一方のウィンドウにはスキームインタープリターがあります。vimセッションを保存するときに、新しい環境でロードしている他のウィンドウでインタープリターを再起動したいと思います。vimの「保存時」フックでシェルコマンドを別の「画面ウィンドウ」に送信してスクリプトを終了して再起動する方法以外のすべてを理解できます。コマンドの送信方法を理解できれば、プロセスを強制終了してから新しいプロセスを開始できます。正しい「ウィンドウ」で開始することを確認する必要があります。

4

2 に答える 2

4

vimにシェルコマンドを発行させ、それを使用screen -Xして画面にコマンドを発行します。のいくつかの順列:at <other-window> stuff <restart-command>man screenその他のコマンドについては、のカスタマイズのセクションを参照してください。

たとえば、vimを使用して画面ウィンドウ1にいて、ウィンドウ0にirbセッションがあった場合、irbセッションを再開するには、次のようにします。

:!screen -X at 0 stuff exit^Mirb^M

^MCTRL-V Enterで入力)。

于 2009-10-03T17:49:21.153 に答える
1

スキームインタープリターを非常に多くの秒ごとに実行するだけで十分な場合はwatch /path/to/scheme/interpreter /path/to/scheme/file、2番目の画面ウィンドウで実行できます。コマンドを実行する時間間隔の調整は、watchコマンドラインパラメーターを使用して調整できます。watchマニュアルページには詳細が含まれています。

于 2009-10-03T07:57:23.153 に答える