Tmux come a sequência da guia de controle

2

Eu tenho a guia ctrl (ou seja, ^[[27;5;9~ ) atribuída para alternar as guias no vim. Ele funciona diretamente sob xterm , mas quando eu também executo tmux , essa sequência funciona apenas ocasionalmente. Suponho que seja porque tmux captura e não encaminha essa sequência.

Isso é um bug ou estou usando errado? Minha configuração:

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'
    
por sevo 11.11.2014 / 23:10

1 resposta

1

Ele só funcionará "ocasionalmente" no tmux porque o tmux tenta combinar sua entrada com as chaves definidas na descrição do terminal:

  • lê uma sequência de bytes e
  • verifica se corresponde a uma chave na descrição do terminal "externo" e
  • se for assim, armazena essa chave e
  • depois envia a sequência de bytes equivalente para a descrição do terminal "interno" para o programa em execução dentro de tmux

A seqüência de escape ^[[27;5;9~ será enviada pelo xterm se o vim estiver enviando a seqüência de controle para alternar o recurso modifyOtherKeys do xterm. tmux bloqueia que: nunca chega ao xterm (verificado com um programa de teste que envia essa sequência de controle).

Se você está vendo este trabalho "ocasionalmente", isso pode ser devido a algum problema de temporização que está atrasando as coisas, fazendo com que o tmux não perceba a seqüência de escape.

    
por 18.08.2016 / 22:46

Tags