O que são chaves válidas para o tmux?

20

Eu estava tentando aprender a usar o bind-key [-cnr] [-t key-table] key command [arguments]melhor, mas estava tendo problemas para descobrir o que " chaves válidas " são para o bind-keycomando.

Tentei fazer o man tmuxGoogle também, mas não encontrei nada útil.

  • Como posso descobrir qual é a sintaxe para chaves válidas?
  • Existe um comando de ajuda ou uma manpágina para isso?
  • Talvez eu não conheça o termo técnico para essas chaves válidas. Existe um termo para essas chaves para que eu possa fazer uma pesquisa no Google melhor?

Por exemplo, eu estava tentando descobrir o que significava o seguinte remapeamento de comandos:

bind-key -n M-S-Left resize-pane -L 2
bind-key -n M-S-Right resize-pane -R 2
bind-key -n M-S-Up resize-pane -U 2
bind-key -n M-S-Down resize-pane -D 4

O -nfoi fácil de encontrar na manpágina (não precisa de prefixo). Mas não consigo descobrir o que M-S-Leftsignifica chave.

Eu estou supondo que seu deslocamento de mapeamento e a seta esquerda mais o que Msignifica para o resize-pane -L 2comando.

  • Como faço para descobrir o que Msignifica?
  • E se eu quisesse controlar + qualquer chave que quisesse. Controle = C?
  • Como posso descobrir isso sem apenas tentar teclas aleatórias no teclado até que algo funcione?
  • Além disso, como confirmo, descubra se não estou mapeando-o para um conjunto de chaves que já está sendo usado?
  • Existe algo como "mostrar todos os pseudônimos" ou algo assim?
  • Como um complemento à pergunta, essas chaves válidas são iguais às chaves vim?

O problema é que vimparece ter um script diferente para sua própria linguagem, uma vez que, às vezes, é necessário.

Pinóquio
fonte
2
M significa Meta, que é a tecla Alt no teclado de um PC.
schaiba
11
obrigado por esse exemplo em particular! Mas seria bom saber, em geral, como ser capaz de descobrir esse tipo de coisa sozinho, sem precisar ir ao stachexchange para solicitar cada chave que eu preciso.
Pinóquio
11
Espero ter respondido às suas perguntas :). Vou tentar encontrar uma resposta para as vimperguntas :).
polímer
sim fez! isso foi demais! Obrigado! :) Não me deixou aceitar porque você respondeu tão logo depois que eu postei a pergunta! lol :) thnx novamente. :)
Pinóquio
11
Haha sem problemas :). tmuxé incrível!
polímer

Respostas:

24

Chaves disponíveis

Olhe man tmux, pesquisa /para KEY BINDINGS:

O tmux permite que um comando seja vinculado à maioria das chaves, com ou sem uma chave de prefixo.

Ao especificar chaves, a maioria se representa (por exemplo, 'A' a 'Z'). As teclas Ctrl podem ser prefixadas com 'C-' ou '^' e Alt (meta) com 'M-'.

Além disso, os seguintes nomes de chave especiais são aceitos:

Cima, Baixo, Esquerda, Direita, BSpace, BTab, DC (Excluir), Final, Enter, Escape, F1 a F20, Inicial, IC (Inserir), NPage / PageDown / PgDn, PPage / PageUp / PgUp, Espaço e Guia . Observe que, para vincular as teclas '"' ou '' ', são necessárias aspas [...]

MS-Esquerda deve ser Alt+ Shift+ Leftpor exemplo.


Listar todas as chaves associadas

Para listar todas as combinações de teclas, basta pressionar Ctrl- be ?, em uma tmuxsessão.

Isso também está documentado man tmuxna seção EXAMPLES:

Digitando 'Cb?' lista as combinações de teclas atuais na janela atual; para cima e para baixo pode ser usado para navegar na lista ou 'q' para sair dela.

Você também pode listar todas as combinações de teclas via tmux list-keys. Se você deseja verificar as chaves já definidas, pode grepverificar a saída, se já estiver definida.


Pesquisa

Para saber mais via Google, pesquise nomes de seções em man tmux- basta digitar tmux default key bindingspor exemplo :). Mas muitas vezes man tmuxé suficiente.

Este site é uma documentação muito boa tmuxe aparece, se você pesquisar a referida string no Google.

O wiki do Arch também é sempre bom.

polym
fonte
como alguém realmente usa alt para computadores MAC? Eu acho que é diferente da tecla de opção.
Charlie Parker
@CharlieParker "Alt" seria a tecla "Meta" .... No terminal Mac OS, nas preferências do Terminal, em "Perfis", escolha um perfil (como o que você está usando) e, na guia "Teclado", existe uma caixa de seleção "Usar opção como chave meta". Em seguida, você pode usar a tecla alt / option para o Meta ... mas não sabe qual é a ligação de teclas "Meta" padrão no Mac ... pode ser Command, mas o Command não é enviado para a sessão do terminal; parece ser agarrado pelo sistema primeiro.
Aaron Wallentine
E aparentemente "BTab" significa "Shift-Tab" ... não sei o que é "BSpace" ... quando tentei mapear algo para "BSpace" e depois tentei disparar com o prefixo Shift + Space, ele acabou fazendo "Próximo layout", que por padrão é vinculado ao prefixo, espaço.
Aaron Wallentine
As teclas F> 12 foram alteradas: github.com/tmux/tmux/commit/…
Delapouite
9

Esta é a lista completa dos nomes de chave 'estendidos' disponíveis no tmux 2.2 ( extraído da fonte ):

    /* Function keys. */
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
IC
DC
Home
End
NPage
PageDown
PgDn
PPage
PageUp
PgUp
Tab
BTab
Space
BSpace
Enter
Escape
    /* Arrow keys. */
Up
Down
Left
Right
    /* Numeric keypad. */
KP/
KP*
KP-
KP7
KP8
KP9
KP+
KP4
KP5
KP6
KP1
KP2
KP3
KPEnter
KP0
KP.
    /* Mouse keys. */
MouseDown1Pane
MouseDown1Status
MouseDown1Border
MouseDown2Pane
MouseDown2Status
MouseDown2Border
MouseDown3Pane
MouseDown3Status
MouseDown3Border
MouseUp1Pane
MouseUp1Status
MouseUp1Border
MouseUp2Pane
MouseUp2Status
MouseUp2Border
MouseUp3Pane
MouseUp3Status
MouseUp3Border
MouseDrag1Pane
MouseDrag1Status
MouseDrag1Border
MouseDrag2Pane
MouseDrag2Status
MouseDrag2Border
MouseDrag3Pane
MouseDrag3Status
MouseDrag3Border
MouseDragEnd1Pane
MouseDragEnd1Status
MouseDragEnd1Border
MouseDragEnd2Pane
MouseDragEnd2Status
MouseDragEnd2Border
MouseDragEnd3Pane
MouseDragEnd3Status
MouseDragEnd3Border
WheelUpPane
WheelUpStatus
WheelUpBorder
WheelDownPane
WheelDownStatus
WheelDownBorder

Estes podem ser usados em adição aos caracteres ASCII imprimível conjunto e combinado com M-, C-e S-prefixos.

Yuriy Ershov
fonte
Nenhum Alt-Gr me deixa triste. Você quer saber o quão difícil seria adicionar.
solarc 6/02