Usando Ctrl + B em menos dentro do tmux


17

Eu uso o Ctrl+Bprefixo do comando in tmux, no entanto, isso entra Ctrl+Bem conflito com o in less, que é usado para rolar um arquivo para cima.

Como posso fazer isso funcionar? Preciso definir um prefixo de comando diferente tmux? Eu realmente não quero ter que aprender novas associações de teclas, se puder evitá-las.

Respostas:


18

Obviamente, você não pode ter duas teclas que fazem a mesma coisa quando os dois programas estão ouvindo. O Tmux vai conseguir primeiro. Você não especificou qual conjunto de combinações de teclas não deseja reaprender, mas precisa fazer algo diferente porque a mesma chave é usada para os dois aplicativos.

Se você o usar apenas localmente, lessbasta passar a coisa real pressionando Ctrl+ BB(que é Ctrl-B duas vezes) tmuxpara passar um único Ctrl-B para o aplicativo no painel atual.

Se você quiser mudar a tmuxligação para outra coisa (digamos Ctrl+ Agostar screen), você pode adicionar isso ao seu arquivo `~ / .tmux.conf:

unbind C-b
set -g prefix C-a

Se você deseja usar outra coisa less, a Gchave geralmente já deve estar no topo do arquivo, portanto, não são necessárias alterações. Se essa alteração não combina com você, você pode religar as chaves usando lesskey.


Se eu alterar a ligação do tmux para Ctrl+A, ela entrará em conflito com o início do comando. Eu também tenho 'Ctrl + B + B' vinculado à janela selecionada anteriormente.
dogbane

1
@Caleb: No meu tmux(Ubuntu 11.04 com a configuração padrão), "Ctrl + B B" não faz nada (nem está documentado na página do manual); é preciso usar "Ctrl + B Ctrl + B" para enviar um Ctrl + B para o aplicativo. (Por outro lado, o screenpadrão é usar "Ctrl + A A" para enviar um "Ctrl + A" ao aplicativo).) Excelente resposta, de qualquer maneira.
Riccardo Murri

1
@RiccardoMurri: Esse é um problema de nomenclatura. Eu não deixei um espaço entre as Bteclas que indicariam a perda do controle. Normalmente, com teclas estilizadas como essa, você colocaria um espaço ou vírgula entre as teclas para liberar a tecla de controle, mas esse não é um padrão bem definido. Algumas pessoas nem sequer usar a mesma +sintaxe ...
Caleb

@dogbane: se você ligou novamente um CTRL-B duplo a algo que não seja o padrão, a culpa é sua e você precisará remapear isso, mapear a passagem da versão do CTRL-B para outra coisa ou usar uma chave diferente por menos.
Caleb

2
@ Dogbane eu uso Ctrl+\ , mas isso é obviamente uma questão de preferência pessoal. Você não vai gostar da minha escolha se não tiver como digitar Ctrl+\ no teclado sem contorções nos dedos.
Gilles 'SO- stop being evil' em

17

No tmux com a configuração padrão, pressionar Ctrl + B duas vezes envia um Ctrl + B ao aplicativo.


6

Você pode usar o comando tmux send-prefix. Ele enviará seu prefixo de ligação de teclas tmux para a janela atual

Por exemplo, em .tmux.conf:

set-option -g prefix C-a
bind-key v send-prefix

Em seguida, pressionar Ctrl-a+ venviará Ctrl-apara o terminal.


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.