現在、私はtmuxウィンドウ間を移動するためにCB Nを使用しています。ここで、Nは私が望むウィンドウの番号です。 f1を押して最初のウィンドウをアクティブにし、f2を押して2番目のウィンドウをアクティブにできるようにfキーをマップする方法はありますか?
答え1
tmux
プレフィックスキーがあるかどうかにかかわらず、ほとんどのキーにコマンドをバインドできます。 [...] また、次の特殊キー名が許可されます: Up, [...]F1
ToF12
, [...].
(源泉:man 1 tmux
)
シェルで実行tmux
:
for n in 1 2 3 4 5 6 7 8 9 10 11 12; do
tmux bind-key -T root "F$n" select-window -t "$n"
done
バインディングを永久に作成するには、.tmux.conf
フォームに12行を編集して追加します。
bind-key -T root F1 select-window -t 1
# up to
bind-key -T root F12 select-window -t 12
メモ:
tmux
Windowsは列挙されますが、キー0
はありませんF0。あなたのリクエストにはウィンドウ0が含まれていません。F1..生成されるシーケンスは、主にF12端末エミュレータや対応する設定など、さまざまな要因によって異なります。 、、、、などを認識すると言えるので、端末設定を
tmux
調整する必要があります。たとえば、WindowsでPuTTYを介してDebianに接続するときは、次のように選択する必要があります。^[OP
^[OQ
^[OR
^[OS
^[[15~
^[OT
エクスタムR6パティエ設定→端末→鍵盤→ファンクションキーとキーボード。私は気づいたVT400そしてVT100+部分的な仕事。反対方向に調整できるかどうかはわかりません(例:tmux
端末に合わせて調整)。一部のプログラムは独自の目的でファンクションキーを使用しているため、ユーザーがそれ
tmux
をしたい場合があります。この例のスニペットは、 で作成して動作.tmux.conf
します。F1F2mc
vim
# Using function keys to select windows, except in mc or vim tmux_commands_with_function_keys="mc vim" bind-key -T root F1 \ if-shell 'echo "#{tmux_commands_with_function_keys}" | grep -q "#{pane_current_command}"' \ 'send F1' 'select-window -t 1' bind-key -T root F2 \ if-shell 'echo "#{tmux_commands_with_function_keys}" | grep -q "#{pane_current_command}"' \ 'send F2' 'select-window -t 2'