Ligando um comando no tmux sem usar a chave de prefixo


46

É possível vincular um comando tmux a uma combinação de teclas e usá-lo diretamente sem primeiro pressionar o prefixo?

Acho C-b + nmuito pesado para alternar painéis, então eu queria saber se eu poderia vincular, C-1por exemplo, para mudar para o painel # 1.

Ou talvez haja uma maneira de fazer o atalho no emulador de terminal para enviar C-b + 1quando eu pressionar C-1?

Obrigado!


1
Eu apenas uso set -g prefix C-a.
grawity

Eu também, acabei de colocar Cb na minha pergunta, porque esse é o padrão.
Ivan

Respostas:


46

para o seu exemplo, use:

bind-key -n C-1 select-pane -t 1

o argumento -n para bind-key significa nenhum prefixo.


1
Obrigado! Isso quase faz, exceto que não reconhece números, diz unknown key: C-1. Se eu usar uma carta, funciona. Você sabe como posso especificar uma tecla numérica?
1137 Ivan Ivan

6
@ Ivan: Os códigos usuais para pressionamentos de tecla Control vêm do ASCII. ASCII não define códigos para C-1..C-9. Os caracteres de controle ASCII padrão são C- @, Ca..Cz, C- [, C- \, C-], C- ^, C-_ e C- ?. A maioria dos terminais simplesmente não suporta códigos distintos para a maioria das teclas modificadas (embora muitos suportem alguns modificadores para teclas de seta e teclas de função). Provavelmente, é melhor usá-lo F1no lugar de C-1(observe também que os números do painel começam em 0, não 1: vincule F1 à seleção do painel 0, F2 a 1 etc.).
Chris Johnsen

2

Eu tenho uma queixa com a resposta aceita aqui.

De acordo com tmux(1), -n is an alias for -T root. Portanto, incluir -nnão significa realmente que "não há prefixo", pois significa que o comando será vinculado à tabela raiz, o que "não é recomendado".

tmux(1):

A tabela raiz é usada para teclas pressionadas sem a tecla prefixo: vincular 'c' à nova janela na tabela raiz (não recomendado) significa que 'c' simples criará uma nova janela

O que isso parece estar dizendo é que:

bind -n c new-window

Irá criar uma nova janela quando cpressionado e, de fato, ele faz.

O humor seco da frase do autor "não recomendado" é o fato de que "c" será pressionado muitas vezes na sessão média do tmux, uma vez que "c" é a terceira letra mais frequente em inglês .

Para outro exemplo, aqui está a troca rápida de janelas do tmux (usando as teclas PageUp / PageDown):

unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.