Chave de opção não funciona como meta no Tmux

26

Estou usando o Mac OSX Lion. Marquei "Usar tecla de opção como meta" nas preferências do terminal. Embora a tecla Option pareça funcionar bem como Meta no Bash, quando eu a uso no Tmux (sobre SSH), ela não funciona corretamente. Estou tentando usar atalhos do TMUX como ^b M-1 b M-2etc. Posso obtê-los com a tecla ESC, mas não com a tecla Option.

Phani
fonte
^b Spacecom o ciclo através dos vários layouts
caspyin 22/03

Respostas:

18

Eu sugeriria o uso do iTerm2 em vez do Terminal.app padrão, pois é melhor por vários motivos.

Especificamente, você estaria interessado nas opções do iTerm2 para mapear a opção esquerda / direita como "+ Esc", que funciona muito melhor do que tentar emular o Meta para todos os propósitos que eu possa pensar ou ter tentado.

Essa configuração está localizada em:

  • Preferências
    • Perfis
      • [selecione um perfil]
        • Chaves
recatado
fonte
1
Eu estava procurando um motivo para mudar para o iTerm2 e aqui estou. Obrigado!!
Phani
13
Posso perguntar por que você escolhe definir a opção para "+ Esc" e não para "Meta" quando parece que você está tentando usar as teclas Meta? Qual é a diferença / por que o "+ Esc" é melhor? Obrigado!
NHDaly 01/03
25

Para outras pessoas que encontram seu caminho aqui por meio de seu mecanismo de pesquisa favorito, consegui resolver esse problema simplesmente acessando Preferências -> Perfis -> Teclado e verificando "Usar opção como meta-tecla" para o perfil do terminal que estou usando.

Estou correndo weechatsob tmuxe chave padrão ligações fazem uso pesado da metachave.

larsks
fonte
você salva meu dia!
zx1986 11/02
Obrigado! Eu estava procurando uma maneira de resolver isso sem precisar mudar para o iTerm2.
Valdimar 10/04
4

Eu tive o mesmo problema e nenhuma das respostas fornecidas aqui funcionou. Isto é, eu também tinha o iTerm2 [Option] chave remapeado para [+Esc](aka "fallback" -. [META]) Em meus "Preferências -> Perfis -> Teclado", conforme descrito em outras respostas, mas ainda não podia mudar minha tmux painel layout com [CTRL]-[b], [+Esc/META]-[DIGIT].

Então eu descobri que em "Preferências -> Teclas", há um "Atalho de Navegação" onde [Option]+ (qualquer) [DIGIT]é mapeado para "alternar painéis divididos" (lembre-se de que [Option]é remapeado para [+Esc]que seja uma colisão clara). Portanto, após un-configuração que (a um valor de chave vazio), eu finalmente pode voltar confortavelmente redimensionar minhas painéis tmux com [CTRL]-[b], [+Esc/META]-[DIGIT](em vez de ter que usar [CTRL]-[b], (o real) [Esc], e, em seguida, o layout desejado [DIGIT]).

fnl
fonte
1

No meu .zshrceu geralmente tenho o seguinte conjunto:

bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Nas sessões do tmux, eu tive que incluir adicionalmente

bindkey '^[[1;3C' forward-word
bindkey '^[[1;3D' backward-word

Você pode descobrir esses códigos executando readuma sessão e pressionando os atalhos do teclado, por exemplo Alt.

Minhas chaves são definidas da seguinte forma no iTerm2:

slhck
fonte
1

Também estou aderindo e Terminal.app, como nenhuma outra resposta resolveu o problema, estou adicionando a minha que funcionou para mim.

Além de configurar o Perfil atual Terminal -> Preferences -> Profiles -> Select the profile to configure -> Keyboarde verificar Use Option as Meta key, verifique também a lista padrão de ligações na tabela logo acima e verifique se as combinações que você deseja atribuir são gratuitas. Para mim, havia algumas Option + Arrowteclas que estavam interferindo na tmuxconfiguração para mudar facilmente entre os painéis.

insira a descrição da imagem aqui

Spidey
fonte