親ウィンドウの全幅にわたってtmuxウィンドウに水平分割を追加するには?

親ウィンドウの全幅にわたってtmuxウィンドウに水平分割を追加するには?

tmuxウィンドウが垂直に2つのウィンドウに分割されている場合は、幅全体を拡大する新しい3番目の水平ウィンドウをどのように作成しますか?

たとえば、次のようにこれを取得しますか?

Ctr-b %

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+

これで?

Ctr-b %
Ctr-b...どうですか?

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+
|                   |
|                   |
+–––––––––––––––––––+

これの代わりに?

Ctr-b %
Ctr-b "

+––––––––+––––––––––+
|        |          |
|        |          |  
|        |          |
|        |          |
|        |          |
|        +––––––––––+
|        |          |  
|        |          |
+––––––––+––––––––––+

注:最終的に、必要なレイアウトに到達するためにすべての可能なレイアウトの組み合わせを繰り返す必要はありません。Ctr-b Space可能な限り簡潔な方法で実装する必要があります。

答え1

tmux 2.3は、あなたが探しているものを正確に実行する-fスイッチをサポートしています。split-windowここ):

-fオプションは、アクティブウィンドウを分割するのではなく、ウィンドウ全体の高さ(-hを使用)またはウィンドウ全体の幅(-vを使用)にまたがる新しいウィンドウを作成します。

たとえば、あなたの場合:

  1. CTRL - b+%
+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
|         |         |
|         |         |
|         |         |
+–––––––––––––––––––+

  1. CTRL - b :splitw -fv

CTRL-btmuxコマンドプロンプトに入力します(下のバーを参照)。

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
+–––––––––+–––––––––+
|                   |
|                   |
|                   |
+–––––––––––––––––––+

これをキーボードショートカットとして準備するには、CTRL-b以下-を追加しますtmux.conf

bind-key - splitw -fw

答え2

5つのプリセットレイアウトモード(タイルタイプ)のいずれかを使用してこれを達成できます。始点(単一の垂直分割)から始めて新しいウィンドウを開きます。デフォルトではアクティブウィンドウを分割し、タイルモードでウィンドウをソートします。

CtrlbAlt5

からman tmux

M-1〜M-5水平偶数、垂直偶数、基本水平、基本垂直、またはタイルの5つのプリセットレイアウトのいずれかでウィンドウを配置します。

頻繁に必要なレイアウトの場合は、select-layout tiledキーバインディングにを追加することを選択できます。.tmux.conf

答え3

最新バージョンのtmux(最小2.3)を入手してください。

マニュアルページから:

このオプションは、アクティブウィンドウを分割するのではなく、ウィンドウ全体の-f高さ(有効-h)またはウィンドウ全体の幅(有効)にわたる新しいウィンドウを作成します。-v

答え4

私は既存のウィンドウを端末の左、右、上、または下に移動し、全体の高さまたは幅にわたって拡張する方法を見つけるためにここを見つけました。

他の人が同じものを探している場合、解決策は、とそのsplit-window両方swap-panekill-pane一緒に使用することです。

たとえば、次を.tmux.confファイルに追加します。

# Pane moving
bind S-Left  split-window -hbf \; swap-pane -t ! \; kill-pane -t !
bind S-Right split-window -hf  \; swap-pane -t ! \; kill-pane -t !
bind S-Up    split-window -bf  \; swap-pane -t ! \; kill-pane -t !
bind S-Down  split-window -f   \; swap-pane -t ! \; kill-pane -t !

ctrlその後、+ bshift+を使用してleft現在のウィンドウを全高にわたってターミナルの左側に移動できます。

関連情報