私はさまざまなtmuxキーバインディング設定を試した結果、次のことがわかりました。
tmux設定を再ロードすると(tmux内で)、一度ロードしたキーバインディングはロードされたままになります。 (私が知っている)この問題を解決する唯一の方法は、すべてのtmuxセッションを終了して再開することです。したがって、tmuxは以前にロードされたすべてのキーバインディングを覚えて再起動したり、明示的にバインディングを解除したりする必要があります。
これを再現するには:
- オープンタイプターミナル(A)
- tmuxの起動
- キーバインディングに時計が表示されていることを確認(押す
PREFIX C-t
) PREFIX ?
リストからキーバインディングを表示するにはタップします。- 編集する
~/.tmux.conf
- 追加キーバインディング(
bind C-t display "Keybinding C-t"
) - tmux 構成の再ロード(
PREFIX : source-file ~/.tmux.conf
) - キーバインディングが有効であることを確認してください。 (押してください
PREFIX C-t
) PREFIX ?
リストから新しいキーバインディングを表示するには、このボタンを押します。~/.tmux.conf
再編集- キーバインディングを削除します(したがって削除してください
bind C-t display "Keybinding C-t"
) - tmux 構成の再ロード(
PREFIX : source-file ~/.tmux.conf
) - キーバインディングが機能していることを確認しましたが(押します
PREFIX C-t
)、それでも「キーバインディングCt」と表示されます。 PREFIX ?
リストにまだ新しいキーバインディングを表示するにはクリックしてください。- tmux シャットダウン
- tmuxと入力してください
- 元のキーバインディングが再び機能していることを確認し(押す
PREFIX C-t
)、時計を再表示する必要があります。 PREFIX ?
リストから削除された新しいキーバインディングを表示するにはクリックします。
私の質問:ロードされたすべての設定を「忘れて」ロードするようにtmuxに指示する方法はありますか.tmux.conf
?
ベストアンサー1
tmux(1)
マニュアルページによると、unbind-key -a
これがあなたが探しているものです。
tmux
実行中のサーバーはすべてのセッションが閉じられた後にのみ終了し、キーバインディングはサーバーごとに適用されます。したがって、バインディングが作成されると、すべてのクライアント分離で持続します。
つまり、unbind-key -a
構成ファイルの最上部に配置すると、構成が再ロードされたときに必要な操作を実行する必要があります。すべてをバインド解除し、最初からバインディングを開始します。または、変更がマイナーな場合は、変更したい項目のみをバインド解除します。