tmux: プレフィックスなしで C-{ をバインドできません。

tmux: プレフィックスなしで C-{ をバインドできません。

Webブラウザと同じショートカットを使ってウィンドウ間を移動したいです。

だから私は努力しました

bind-key -n "C-{" previous-window
bind-key -n "C-}" next-window

そして

bind-key -n "C-S-[" previous-window
bind-key -n "C-S-]" next-window

動作しません。

私はmacos、kitty、zshを使用しています。

ベストアンサー1

役割のようなものはありません^{

0 から 0x1f までのバイトには 32 個の ^X 制御文字があります: ^@, ^A.. ^Z, ^[, ^\, ^], ^^^_また、^?ASCIIセットの最後の文字であるバイト0x7fです。

端末は+とon、+とon、+とonを^I送信します。で、一部は一部(BS)を一部(DEL)に送信します。いくつかは+と+などのために(NUL)を送信します。 IOW、一部のキーで+を押したときに送信される文字は制御文字(テレタイプキャリッジを開始位置に戻すキャリッジリターンなどの制御機能を持つ文字)であり、ASCIIには限られたセットしかありません。 (合計33個)。CtrlITab^[Ctrl[Escape^MCtrlMEnterBackspace^H^?^@Ctrl@CtrlSpaceCtrl^M

私の英国PCでは、キーボードは+に{あり、私の端末エミュレータ(xterm)を使用して、+ +は+またはdoのようなものを送信します。 AFAICT、キティは++で何も送信しません。Shift[CtrlShift[^[Ctrl[EscCtrlShift[

CtrlShift+ +(またはキーボードの対応するキー)を押してから、バインド時に特定の[文字または文字シーケンスを送信するようにいつでも設定できます。それtmux設定の何かに。

たとえば、次のようになります。

map ctrl+shift+[ send_text all \x1b[23~
map ctrl+shift+] send_text all \x1b[24~

では、合計キーと同じシーケンスが送信されます(~/.kitty/kitty.confここではkittyESCF11とも呼ばれます)。F12\x1b^[

これをtmux設定にバインドできます。

bind-key -n "F11" previous-window
bind-key -n "F12" next-window

おすすめ記事