この問題について未解決のバグがあるようです。
OS Xでbyobuをローカルに使用するようにiTerm2を構成し、Ubuntu 14.04サーバーでsshを介してリモートで使用することができました。
使用:
- OS X バージョン: 10.9.5 ビルド 13F34
- iTerm2 バージョン: ビルド 1.0.0.20140629
まず、OS X のシステム設定で、キーボード設定を編集し、byobu (つまり+ - )と競合する可能性のあるショートカット設定を削除または変更します。CtrlF1F12
オプション 1: エスケープ シーケンスを使用した回避策
キーに完全な機能を追加しなくても機能する回避策を次に示しFNます。これにより、byobu エスケープ キーを使用してウィンドウを垂直方向に分割できます。
開始しbyobu
ます。
Ctrl次を実行して、目的のA動作を設定しますbyobu-ctrl-a
。私は Emacs モードを選択しました。
実行byobu-config
して、エスケープ シーケンスを選択または変更します。新しいデフォルトCtrl+を使用しましたS。F12キーもエスケープシーケンスです
これで、エスケープ シーケンスを使用してコマンドを発行できます。ウィンドウを縦に分割するには、F12then%またはCtrl+ sthenを試してください。%コマンドの完全なリストについては、Ctrl+ sthen?またはF12thenを試してください?。
オプション 2: すべてのキーを完全に使用するように iTerm2 キー マッピングを設定しFNます。
iTerm2 プロファイルにいくつかのキー マッピングを追加してCTRL、 、ALT、SHIFT、およびFNキーを byobu と連携させることができます。これは面倒ですが、演習を行ったところ、うまくいくようです。これらのキー マッピングを iTerm2 で自動的に保存する方法はないと思います。
- iTerm2 設定を開き、プロファイルを選択します。
- 使用するプロファイルを選択します。
- ターミナル ペインを開き、[ターミナル タイプのレポート] で [linux] を選択します。
[キー] ペインを開き、次のキー バインドを手動で追加します。1 つのキー バインドを追加する方法の例を次に示します。
- 「+」アイコンをクリックします。
- 最初のフィールドにマッピングされているキーボード ショートカットを入力します。例:
CTRL + F2
- [アクション] フィールドで [エスケープ シーケンスの送信] を選択します。
- 3 番目のフィールドに文字を入力します。例:
[1;5Q
ここに記載されていないキー シーケンスの制御文字は、tmux ソース コードを参照して確認できます。
これらすべてのマッピングに対してこれを繰り返して、対応する byobu コマンドを機能させます。
- CTRL+ F2:
[1;5Q
- CTRL+ SHIFT+ F2:
[1;6Q
- ALT+ LEFT:
[1;3D
- ALT+ RIGHT:
[1;3C
- ALT+ UP:
[1;3A
- ALT+ DOWN:
[1;3B
- CTRL+ F3:
[1;5R
- CTRL+ F4:
[1;5S
- CTRL+ SHIFT+ F3 :
[1;6R
- CTRL+ SHIFT+ F4 :
[1;6S
- SHIFT+ ALT+ LEFT:
[1;4D
- SHIFT+ ALT+ RIGHT:
[1;4C
- SHIFT+ ALT+ UP:
[1;4A
- SHIFT+ ALT+ DOWN:
[1;4B
- CTRL+ F5:
[15;5~
- CTRL+ SHIFT+ F5:
[15;6~
- ALT+ F6:
[17;3~
- CTRL+ F6:
[17;5~
- ALT+ PPAGE:
[5;3~
- ALT+ NPAGE:
[6;3~
- CTRL+ F8:
[19;5~
- ALT+ SHIFT+ F8:
[19;4~
- CTRL+ SHIFT+ F8:
[19;6~
- CTRL+ F9:
[20;5~
- ALT+ F11:
[23;3~
- CTRL+ F11:
[23;5~
- ALT+ F12:
[24;3~
- CTRL+ F12:
[24;5~
- ALT+ INS:
[2;3~
概要
物事を機能させるには、次のことが必要でした。
- OS X キーボード ショートカットとの競合を解消します。
- ターミナル キー マッピングを編集して、ファンクション キーの使用時に正しいエスケープ シーケンスを送信します。
- iTerm2 ターミナル タイプを「Linux」に設定します。これにより、TERM 環境変数が「linux」に設定されます。Byobu や Tmux はこれに敏感なようです。
エスケープ シーケンスに関するその他のリファレンス: SO リンクおよびxterm-keys.c
新しいウィンドウとペインのデフォルト ディレクトリ
tmux 1.8 と tmux 1.9 ( Src、Src、Src )の間で tmux ウィンドウの既定のディレクトリにいくつかの違いがあるようです。tmux 1.9 で byobu を使用している場合は、これを~/.byobu/keybindings.tmux
ファイルに追加してみて、新しいウィンドウまたは垂直/水平分割を作成するときに、現在のペインと同じディレクトリで開くことができます。
unbind-key -n F2
bind-key -n F2 display-panes \; new-window -c "#{pane_current_path}" -n -
unbind-key -n C-F2
bind-key -n C-F2 display-panes \; split-window -hc "#{pane_current_path}"
unbind-key -n S-F2
bind-key -n S-F2 display-panes \; split-window -vc "#{pane_current_path}"
unbind-key %
bind-key % display-panes \; split-window -hc "#{pane_current_path}"
unbind-key |
bind-key | display-panes \; split-window -vc "#{pane_current_path}"
を押しF5て設定をリロードします。