tmux で 2 セットのウィンドウを並べて表示

tmux で 2 セットのウィンドウを並べて表示

私は2つのセッション/ウィンドウセットを並べて表示したいのですが、独立したウィンドウ切り替え機能付き、スクリーンショットのように - 今は、それぞれ と を持つ 2 つの別々の Konsole インスタンスを起動してこれを行いますtmux attach -t session_name_here素晴らしいWM他の X クライアントと同様に、それらを並べて配置するだけです。

このようなレイアウトを実現する方法には、主に移植性に関するいくつかの欠点があります。

  1. Xが必要なので、「純粋な」Linuxコンソールからは使用できません。
  2. タイル化されていない WM を使用する他の環境 (KDE や MacOS X など) では、あまりうまくいかない場合があります。

tmux外部アプリケーションに依存せずに、だけで同様のことを行うことができますか?

そしてどうやって?

2つのセッション/ウィンドウを並べて表示

更新: ウィンドウの独立切り替えの部分を太字にしました

答え1

ネストされた tmux セッションを使用することもできます。

┌───────────────────┐
│ ┌──────┐ ┌──────┐ │
│ │      │ │      │ │
│ │      │ │      │ │
│ │tmux 2│ │tmux 3│ │
│ └──────┘ └──────┘ │
│ tmux 1            │
└───────────────────┘

これはかなり扱いにくいですが (たとえば、prefixprefixn「内部」ウィンドウを切り替える必要がある)、最近の tmux バージョンでは、ステータス バーに現在どのインスタンスが制御されているかを表示できます。たとえば、私の構成は次のとおりです。

-g ステータス-bg 色233 を設定します
-g ステータス-fg colour250 を設定します
-g ステータス左を設定 "#{?client_prefix,#[fg=colour180]=#[fg=default], }#S "
-g ステータス ライトを "%b %d, %H:%M " に設定
setw -g ウィンドウステータスフォーマット ' #I #W '
setw -g ウィンドウステータス現在のフォーマット '#{?client_prefix,#[fg=colour0]#[bg=colour180],}#私 #W '
setw -g ウィンドウの状態、現在の背景色166
setw -g ウィンドウの状態、現在の設定、色0
setw -g ウィンドウステータスアクティビティ背景色166
setw -g ウィンドウステータスアクティビティfg colour233

( #{?client_prefix}tmux ≥ v1.6 が必要)

答え2

tmuxインスタンスを起動し、Ctrl+b %ペインを垂直に分割します。ペインを切り替えるには、Ctrl+b arrow key

答え3

代替アプローチ:全体をひっくり返す – VimからNeovimに切り替え、を使用して:terminal端末内部ヴィム分割ウィンドウ:

ここに画像の説明を入力してください

(ターミナル入力モードを終了するためのデフォルトのショートカットは ですC-\ C-nが、別のバッファをクリックすることもできます。)

関連情報