O painel de redimensionamento não está funcionando para o tmux no mac?


33

Depois de pesquisar, achei que as teclas ctrl + b (PREFIX) e a tecla ctrl + redimensionavam o painel atual. Mas isto não está funcionando. Estou faltando alguma coisa?

Obrigado.


Para sua informação, ajustei a largura com PREFIX: redimensionar painel, mas ainda me pergunto por que o comando acima não deve funcionar.
quer

deve prob estar em apple.stackexchange.com
Alex Leach

Respostas:


42

Provavelmente, seu terminal não está enviando uma sequência (distinta) quando você mantém Controlpressionado e pressiona uma tecla de seta.

Tente executar cate digitar as chaves nele (Control-C para sair). Você provavelmente descobrirá que (por exemplo) Upe Control- Upambos geram a mesma sequência.

Aplicativo OS X Terminal

Em sua configuração padrão, o aplicativo OS X Terminal envia a sequência ^[[A(ou ^[OA), digitando Upou Control- Up(também qualquer combinação com Shifte Optiontambém).

No entanto, você pode reconfigurar o Terminal para enviar os códigos apropriados. É um pouco entediante, mas você geralmente só precisa fazer isso uma vez.

  1. Terminal > Preferências…
  2. Guia de nível superior de configurações
  3. escolha o perfil que você deseja modificar
  4. Guia Teclado
  5. clique no botão de adição para adicionar uma nova ligação

    • escolha uma tecla do cursor
    • defina o modificador para control
    • use a Send Text:ação
    • digite Escape(será exibido como \033) seguido por [1;5e mais um caractere:
      • Apara Up,
      • Bpara Down,
      • Cpara Rightou
      • D para Left
    • clique em OK para adicionar a ligação

Por exemplo, a sequência final para Control- Updeve acabar parecendo \033[1;5A.

Essas seqüências são as que o XTerm gera (consulte a documentação do ctlseqs para obter detalhes).

Repita o último passo para as outras teclas de seta.

iTerm 2

O iTerm 2 envia a sequência esperada por padrão.


De fato, as teclas Ctrl + {setas} são mapeadas para alternar entre aplicativos. Eles não estão enviando a sequência.
quer

19
Eu tentei isso em uma máquina Mavericks de baunilha (retina MBP no final de 2013), mas não funcionou sem também desativar todos os atalhos das teclas Ctrl + Seta em Preferências do sistema -> Teclado -> Atalhos -> Controle de missão. +1 para obter a dica de catcomo ver eventos do teclado #
Alex Leach

funciona bem até eu iniciar o tmux. Eu recebo ^ [[1; 5A ^ [[1; 5B antes de iniciar o tmux, mas ^ [OA ^ [OB no tmux.
precisa saber é o seguinte

1
@ Sinbadsoft.com: Parece que você não xterm-keysativou a janela do tmux ; você pode querer set -gw xterm-keys on.
31815 Chris Johnsen

funciona perfeitamente para mim (el capitan).
ling

10

Em pelo menos Mavericks e iTerm2, você deve segurar Controle pressionar b(em vez de segurar) e, em seguida, pressionar um botão direcional. Isso envia praticamente as mesmas seqüências que manter pressionadas Control- bcom um botão direcional para que funcione.

Além disso, certifique-se de ir para as configurações do teclado e, na guia atalhos, desative qualquer controle de missão e os atalhos de teclado que você possa ter, Controlalém de uma tecla direcional.


7
obrigado! mudando as ligações janelas missão de controlo / app em Atalhos de teclado fez a diferença para mim
sixty4bit

7

Você pode usar a tecla meta em vez da tecla controle nas combinações ctrl- ↑ e ctrl- ↓. No OSX Terminal, a meta-chave padrão é a chave de escape. Por exemplo, para aumentar o tamanho de um painel, digite ctrl-b esc- ↑.

Acho que é difícil alcançar a chave de escape e, em vez disso, uso a tecla de opção como a meta-chave. No Terminal.app, você pode alterá-lo acessando Terminal> Preferências> Perfis> Teclado: marque a opção "Usar opção como meta-chave".

Agora você pode digitar ctrl-b opção- ↑ para aumentar o tamanho ou ctrl-b opção- ↓ para diminuir o tamanho e não precisa remapear as teclas de controle da missão.


Usar o Escape foi a única solução, pois segurar Ctr + Arrow por padrão nos meus turnos do MacOS para outra área de trabalho.
Klimat
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.