Meu ~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
(para tornar as teclas de comando iguais às do GNOME Teminator)
A situação: após dividir horizontalmente a janela em 2 painéis, mudando para um painel com seta Ctrl+ a Up, devo esperar um pouco (2-3 segundos) para visualizar os comandos do histórico do shell neste painel. Porque se eu pressionar Upnovamente, ele voltará para o outro painel em vez de me mostrar um comando de histórico do shell. Como posso recusar isso?
Responder1
Cima, Baixo, Esquerda e Direita ( select-pane
ligações; e Control- e Meta- das mesmas teclas para resize-pane
) são ligações “repetíveis” por padrão (feitas via bind-key -r
). Depois de digitar a chave de prefixo e qualquer chave repetível única, você pode digitar qualquer outra chave repetível (sem precisar digitar o prefixo novamente) dentro do número de milissegundos especificado pela repeat-time
opção de sessão (o padrão é 500 ms).
Você pode examinar o valor atual de repeat-time
com estes comandos shell:
tmux show-options -g | grep \^repeat-time # global
tmux show-options | grep \^repeat-time # this session
Se você deseja desabilitar a repetição para a sessão atual, digite seu prefixo, dois pontos, e digite este comando:
set-option repeat-time 0
Ou você pode encontrar um valor confortável diferente de zero. Se você realmente tem um valor em torno de 2.000 (ou seja, 2s), então eu acho que ele está sendo definido em /etc/tmux.conf
.
Se você deseja desabilitar a repetição (ou alterar o tempo limite) para todas as suas sessões, defina o valor global com este comando:
set-option -g repeat-time 0
Se você definiu um valor por sessão, será necessário desmarcá-lo antes que o valor global entre em vigor nessa sessão ( set-option -u repeat-time
). Você pode definir o valor global por meio de seu .tmux.conf
se preferir deixá-lo desativado “permanentemente”.
Se você tiver problemas apenas com o Up, poderá vinculá-lo novamente sem -r
:
bind-key Up select-pane -U
Responder2
Você também pode desativar a repetição para atalhos de teclado específicos, se desejar. Por exemplo, as ligações padrão para alternar entre painéis se resumem a:
bind-key -r Up select-pane -U
bind-key -r Down select-pane -D
bind-key -r Left select-pane -L
bind-key -r Right select-pane -R
Você poderia recriá-los sem a -r
bandeira, como
bind-key Up select-pane -U
bind-key Down select-pane -D
bind-key Left select-pane -L
bind-key Right select-pane -R
Pessoalmente, prefiro que a troca de painéis não seja repetível. Repetir é bom se você tiver uma janela dividida em vários pequenos painéis, mas pode levar a colisões importantes (como você descreveu) com os aplicativos em execução nesses painéis (como histórico do shell, vim, etc.), e eu geralmente não tem mais do que 2 painéis por janela. Mas cada um na sua.