web-dev-qa-db-ja.com

Macのtmuxでペインのサイズ変更が機能しない?

検索した後、ctrl + b(PREFIX)を押してから、Ctrl +矢印で現在のペインのサイズを変更します。しかし、それは機能していません。何か不足していますか?

ありがとう。

34
Biswanath

おそらく、あなたが持っているときにあなたの端末は(明確な)シーケンスを送っていません Control 矢印キーを押します。

catを実行してキーを入力してみてください(終了するにはControl-C)。あなたはおそらくそれを見つけるでしょう(例えば) Up そして Control-Up どちらも同じシーケンスを生成します。

OS XTerminalアプリケーション

デフォルトの設定では、OS XTerminalアプリケーションは、入力したかどうかに関係なく、シーケンス^[[A(または^[OA)を送信します Up または Control-Up (また、 Shift そして Optionも)。

ただし、適切なコードを送信するようにTerminalを再構成できます。少し面倒ですが、通常は一度だけ実行する必要があります。

  1. ターミナル>設定…
  2. 設定トップレベルのタブ
  3. 変更するプロファイルを選択してください
  4. キーボードタブ
  5. プラスボタンをクリックして新しいバインディングを追加します

    • カーソルキーを選びます
    • 修飾子をcontrolに設定します
    • Send Text:アクションを使用する
    • タイプ Escape\033と表示されます)の後に[1;5ともう1つの文字が続きます:
      • A for Up
      • B for Down
      • C for Right、または
      • D for Left
    • [〜#〜] ok [〜#〜]をクリックしてバインディングを追加します

たとえば、最後のシーケンス Control-Up 最終的には\033[1;5Aのようになります。

これらのシーケンスは、XTermが生成するシーケンスです(詳細は ctlseqs のドキュメントを参照)。

他の矢印キーについても、最後の手順を繰り返します。

iTerm2

iTerm2は、デフォルトで予期されるシーケンスを送信します。

43
Chris Johnsen

少なくともMavericksとiTerm2では、Controlを押しながら(押したままではなく)bを押してから、方向ボタンを押し続ける必要があります。これは、方向ボタンでControl-bを押した場合とほぼ同じシーケンスを送信するため、機能します。

また、キーボード設定に移動し、ショートカットタブでミッションコントロールとControlにあるようなキーボードショートカットと方向キーを無効にしてください。

11
quinnirill

Ctrl-↑とctrl-↓の組み合わせでは、Ctrlキーの代わりにメタキーを使用できます。 OSXターミナルでは、デフォルトのメタキーはエスケープキーです。たとえば、ペインのサイズを大きくするには、ctrl-b esc-↑と入力します。

私はエスケープキーに到達するのが面倒なので、代わりにオプションキーをメタキーとして使用します。 Terminal.appでは、[ターミナル]> [設定]> [プロファイル]> [キーボード]に移動して変更できます。[オプションをメタキーとして使用]をオンにします。

これで、ctrl-b option-↑と入力してサイズを大きくしたり、ctrl-b option-↓と入力してサイズを小さくしたりできるため、ミッションコントロールキーを再マッピングする必要はありません。

8
yothenberg