0

screensプラグインは、vimを一種のドリームパイに変えますが、複数のバッファーとそれらのバッファー内に特定のテキストがある場合でも、送信する内容をより細かく制御できるため、はるかに優れています。

私の環境設定に従うには、vimを使用して画面をインストールし、コマンドラインで実行しscreenてシェルに到達し、vimと入力します。それを使用して何らかのシェルスクリプトを編集し、実行すると:ScreenShell *shell type here, eg python/bash/irb*、下にシェルが生成されます。:ScreenShellSend視覚的に選択されたテキストをシェルに送信するか、何も選択されていない場合はファイル全体に送信するために使用できます。

私の問題は、このプラグインを使用して実行しているシェルを再起動し、テキストを送信したいとします。:ScreenShellFocus実行し、exitを呼び出してから、再起動する必要があります。しかし、影響を受けているシェルの真上にある同じvimセッションに戻ることができる必要があります。screenを使ってvimセッションにたどり着くことができると思いますが、今それを行う唯一の方法は、^ a 1で選択することです。これは、実際には、シェルであるはずの下部を次のように置き換えるだけです。編集中のvimバッファ。これはばかげています。vimバッファの上にvimバッファがあるからです。

だから私の質問は、:ScreenShellFocusを実行した後、カーソルを上記のvimセッションに戻すにはどうすればよいですか?

(はい、シェルを強制終了して再起動する例は他のロジックによって回避される可能性があることは知っていますが、GNU screen utilに精通しているわけではなく、このようにする方法があると思います。これにより、ワークフローが維持されると思います。プログラマーの)

4

1 に答える 1

0
<C-a><Tab>

screen「リージョン」を循環するために使用されるマッピングです。2つしかないため、フォーカスが他の領域に移動します。

を効果的に使用screenしているので、このプラグインを本当に便利にするためにそれを使用する方法を学ぶ必要があります。

$ man screen
于 2013-01-13T12:36:46.193 に答える