最近の「リリースされていない」バージョンのtmuxは、端末から xterm スタイルのキー シーケンスを送信すると、これらのキー シーケンスを自動的に認識します (terminfo エントリを変更する必要はありません)。次のリリース バージョン (1.8?) でもこのサポートが必要です。tmux 1の適切なビルドでは、 tmux構成でキーをバインドするだけです。
bind-key C-Tab next-window
bind-key C-S-Tab previous-window
これらのキーの前にプレフィックス キーを入力する必要があります。
(注:~/.tmux.conf
はサーバーの起動時にのみ処理されます。変更を加えた場合は、すべてのセッションを終了してサーバーを再起動するか、(eg)tmux source ~/.tmux.conf
を使用して既存のサーバーにファイルを再処理させる必要があります。)
また、tmuxでこれらの (およびその他の) xterm スタイルのキー シーケンスをtmuxxterm-keys
内で実行されているプログラムに渡す場合は、 window オプションを有効にする必要があります。
set-option -gw xterm-keys on
-w
(必要に応じて、代わりに を使用して、ウィンドウごとにこれを行うことができます-gw
。)
プレフィックスを入力せずにこれらのキーを使用できるようにしたい場合は、代わりに「プレフィックスなし」バインディングを使用できます。
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
ただし、これにより、多かれ少なかれキーがtmuxに「専用」になります。tmux内で実行されているプログラムにこれらのキーを入力するのは困難です (たとえば、tmuxコマンドを使用する必要があります。send-keys C-Tab
通常、xterm-keys
これらの xterm スタイルのキー シーケンスを送信できるようにする必要があります)。
terminfo エントリの編集に関する問題は、おそらく、端末タイプを指定する行の後の各行がタブで始まる必要があるためです。タブで始まらない行は、新しい端末エントリの始まりです。技術的には、NL TAB シーケンスは基本的にこのファイル形式の行の継続です。各エントリは単一の論理行です。
また、terminfo エントリを再定義する場合は、必ずinfocmpおよびtic-x
と共に使用して、ユーザー定義の機能 (一部はかなり標準的なもの) を保持してください。
1つまり、sf.netのtmux Git リポジトリ(クローン可能な URL )の最近のコードから構築されましたgit://git.code.sf.net/p/tmux/tmux-code
。