Tmuxはコントロールタブシーケンスを食べます。

Tmuxはコントロールタブシーケンスを食べます。

^[[27;5;9~タブを切り替えるために、vimからctrl-tab(つまり)を割り当てました。直接動作しますが、シーケンスをxterm実行するときにのみtmuxシーケンスが動作します。tmuxシーケンスがキャプチャされ配信されないためです。

これはバグですか、それとも間違って使用していますか?私の設定:

unbind C-b
set-option -g prefix C-a
bind-key a send-prefix

bind-key C-a last-window

set -g base-index 1
set -s escape-time 0

set -g status-bg red
set -g status-right '#(date)'
setw -g window-status-current-attr underscore

setw -g mode-mouse off
setw -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
bind y run-shell -b "tmux save-buffer - | xclip -i -selection clipboard"

# Experimental below
set -g terminal-overrides 'xterm:colors=256'

ベストアンサー1

tmuxは入力を端末の説明で定義されているキーと一致させようとするため、tmuxでは「時々」しか機能しません。

  • 一連のバイトを読んで
  • 「外部」端末記述のキーと一致することを確認し、
  • それから店それ鍵、そして
  • 後で、「内部」端末で説明されている同等のバイトシーケンスを内部で実行されているプログラムに送信します。tmux

vim が xterm のリソースを切り替えるために制御シーケンスを送信すると、^[[27;5;9~xterm はエスケープシーケンスを送信します。modifyOtherKeystmux。ブロック:xtermに達しません(テストプログラムで確認済み)。送る制御順序)。

これが「時々」動作するのを見ると、おそらく速度が遅くなり、tmuxがエスケープシーケンスを認識しないようにするいくつかのタイミングの問題が原因です。

おすすめ記事