Tela acompanha Ctrl+ A. O tmux, por outro lado - conforme desenvolvido na tela - usa Ctrl+ B. As duas teclas, no entanto, também são usadas em editores, shells, etc. Assim, a escolha de uma prejudica a experiência e a funcionalidade do usuário dessas ferramentas quando usadas no tmux ou na tela.
Qual prefixo menos conflita com as combinações de teclas de outros programas e shells?
gnu-screen
hotkeys
tmux
Scott
fonte
fonte
~/.tmux.conf
, não se esqueça de reiniciar o servidor tmux para que as alterações entrem em vigor ( superuser.com/q/188491/105108 ).Respostas:
Eu acho que
^\
(aka^|
) é o melhor se estiver em uma posição conveniente no layout do teclado. Seus usos em outros programas são bastante raros:SIGQUIT
para um processo^C
é interceptadotoggle-input-method
no emacsNão conheço outros usos. Cuidado para não matar acidentalmente um processo fora
tmux
ouscreen
depois de se acostumar. Isso aconteceu comigo apenas uma vez em alguns anos.~/.tmux.conf
~/.screenrc
fonte
C-`. Can I escape the
`character de alguma forma?'C-\'
vez de `C- \` na configuração do tmux.Para as pessoas que desejam usar o backtick como escape no tmux, adicione:
Esse último é importante, caso contrário você não pode digitar um backtick para outros fins :-)
fonte
$()
conchas. Também se torna uma dor quando você começa a escrever muito Markdown. Eu o uso há vários anos, mas infelizmente vou ter que mudar agora.bind-key C-a set-option -g prefix C-a
. Sempre que preciso usar backticks, clico em`-Ctrl-a
que define meu prefixoC-a
. E eu tenhobind-key C-b set-option -g prefix `
para que eu possa baterC-a-C-b
para voltarCtrl + A também é conhecido por causar problemas com o Emacs, incluindo o Bash no modo Emacs. Parece que isso não é um problema para você.
Ctrl + O é a outra opção que eu já vi. Aparentemente, esse é o padrão no RatPoison (este é um gerenciador de janelas X que não precisa de um mouse). Eu usei Ctrl + O ao usar telas aninhadas: Ctrl + O para a externa e Ctrl + A para as internas. Funcionou bem, mas meio que assustou meus colegas. :-)
Eu estava pensando e se você usa o vi em vez do Emacs, existem algumas alternativas. Ctrl + G não é muito usado, por exemplo.
fonte
set -g prefix2 C-j; bind-key C-j send-prefix -2
C-j
entra em conflito com CtrlP. Movendo para cima e para baixo na lista tampão usaC-k
eC-j
respectivamenteEu tenho
CAPS-LOCK
globalmente mapeado paraESC
. Então, eu usoM-Space
(ou seja,CAPS-LOCK
+Space
) no meu prefixo.fonte
CAPS-LOCK
(pensando no meu próximo comando ou algo assim) tmux - ou iTerm, não sei o que está causando isso - recebe oESC
comando repetidamente, fazendoM-Space
com que não funcione. Existe uma maneira de desativar esse problema de chave repetida? Por exemplo, funciona quando pressiono rapidamenteCAPS-LOCK + Space
, mas não se pressionoCAPS-LOCK
por um segundo e depois pressionoSpace
, não registra oM-Space
acorde ...Eu uso um sistema complexo para tela. Meu escape padrão está definido como \ 140 \ 140, que é backtick. O Ctrl-A complica o Emacs e a edição de linha de comando para mim no Zsh, e não gosto do Ctrl-O (operações com as duas mãos para a maioria das ações na tela).
Volto a ligar a tela 1 para que novas sessões sejam criadas da esquerda para a direita no teclado começando em 1. Isso me permite reservar a tela 0 para o que considero janelas persistentes ou de referência. É muito rápido gesto com uma mão para (backtick) 1, (backtick) 2, (backtick) 3 para alternar entre janelas.
O problema com o uso de backtick em um ambiente unix é ao tentar cortar e colar o código de script shell / perl. Por esse motivo, liguei a tecla F11 / F12 para alternar entre meu caractere de escape.
Isso trocará o escape para Ctrl-O para quando eu estiver executando operações de recortar e colar. Descobri que dar um tique duplo é simples e é uma boa opção para a maioria das operações de tela.
Revisitando esta resposta com uma solução mais nova que permite alternar o modo pressionando F12 e usando uma legenda para indicar o modo.
fonte
Eu uso
Ctrl-Q
emtmux
e tem funcionado bem até agora. Devo mencionar, no entanto, que ele entra em conflito com o controle de fluxo do shell. Por padrão,Ctrl-Q
é usado para reativar a saída após a paradaCtrl-S
. Tendo sido surpreendido por uma concha presa algumas vezes após bater acidentalmenteCtrl-S
, aprendi a não pressionarCtrl-S
.(Também é possível desativar completamente o controle de fluxo
stty -ixon
ou vincular chaves diferentes astty start
estty stop
.)fonte
quote-inserted
. O uso da amostra (no emacs): se eu quiser procurar o caráter próxima guia -<Ctrl-s>+<Ctrl-q>+<TAB>
Eu gosto de reservar
^Space
operações muito especiais / comuns porque acho que é o prefixo mais fácil de digitar, mas agora estou tentando mapear comoprefix
no tmux .Ele deixa seus dedos livres para pular instantaneamente para o comando que você deseja digitar. De uma chance.
fonte
set -g prefix2 C-j; bind-key C-j send-prefix -2
Uma sugestão tardia:
ctrl-s
.ctrl-s
tem várias vantagens:ctrl-a
(na verdade, para a maioria dos tipógrafos, ele usa os mesmos dois dedos para os quais eles usavamctrl-a
), então a memória muscular de alternarctrl-a
paractrl-s
é trivial - para mim, tornou-se uma segunda natureza cerca de uma hora após a primeira tentativa.ctrl-a
para operações "de volta ao início da linha" ou "número de incremento" no estilo emacs. Ou seja, para executar a tela dentro de um painel tmux sem precisar se preocupar com caracteres de prefixo de escape para controlar a instância da tela incorporada. (Costumo fazer isso usando um tmux local com painéis contendo sessões ssh para servidores remotos, nos quais executo a tela)Obviamente, a razão pela qual nada está no ctrl-s é que, no terminal, ele é tradicionalmente usado para controle de fluxo, que remonta aos dias anteriores às ferramentas de paginação como
more
eless
eram comuns. Tenho certeza de que algum programa de terminal da GUI em algum lugar ainda tem essa funcionalidade de controle de fluxo ativada por padrão, mas na verdade não encontrei nenhum; os programas do gui terminal que eu tentei parecem ignorá-lo completamente por padrão, o que torna essa combinação conveniente de teclas disponível para usos mais produtivos.Portanto, se você não está realmente usando o screen / tmux de dentro (por exemplo) de um terminal Linux bruto, mas de um terminal baseado em GUI, recomendo
ctrl-s
tentar; tornou o zip no tmux e a tela muito mais convenientes para mim.fonte
Uma chave sem conflito pode ser C-z, pois geralmente é usada para enviar o programa para o segundo plano para continuar outra coisa no shell que o iniciou. Não faço isso quando tenho o tmux.
fonte
fg
.Ouvi dizer que o `(backtick) está sendo usado e você só precisa digitá-lo duas vezes para um backtick real. Pode ser melhor para os usuários vi que estão acostumados com a ação (a menos que você faça a coisa com o Caps Lock).
fonte
'; bind '
' send-prefix; veja a resposta de Darren Hall acima.Eu recomendo
C-j
, o que não interfere muito no vi ou no emacs. Basicamente, concordo com um comentário de Susam Pal, que parece digno de aparecer como resposta, já que todos os outros parecem ter conflitos significativos da minha perspectiva.fonte
Para o layout do teclado do Programmer Dvorak, é bastante interessante usar uma tecla de menos (traço) como prefixo, ou seja,
ctrl
+-
.A tecla de menos está na posição de chave de aspas simples no layout qwerty. Também tenho a função caps lock key como uma tecla ctrl. A seguir está um tmux conf, para configurá-lo como um prefixo:
Você pode se perguntar, por que o sublinhado é usado em vez de menos? Consulte Tmux: como faço para ligar a C— (controle-menos)?
Para qwerty, você pode aplicar Como vincular a chave de prefixo tmux a C- '? solução, a fim de manter o mesmo atalho.
Eu diria que esse é um prefixo perfeito se você usar o Vim / Neovim. Porque prefixos, como
ctrl
+a
ouctrl
+b
, sombreiam (sobrepõem) a funcionalidade do Vim, de qualquer maneira.fonte
Pessoalmente,
b
está muito longe deCtrl
mim. Quando uso o tmux, sempre altero a ligação de Cb para Ca. O principal conflito com o Ca é selecionar tudo, mas não achei que fosse um problema com os programas com os quais uso o tmux.fonte
Como usuário do GNU emacs, zsh e MS Windows, uso o Control-T. (por exemplo, em .screenrc :)
Sim, o Control-T tem algo a ele associado, como o menu suspenso no aptitude do Ubuntu ou transpõe caracteres no Emacs.
Eu desconsiderei Co porque requer duas mãos para mim.
fonte
Eu acho que a melhor solução é ^ C. O Emacs usa ^ C como uma chave de prefixo, e acho que quando preciso digitar ^ C em um shell, quase sempre digito dois de qualquer maneira. :-)
fonte
Eu uso o Caps Lock e, no OSX, você precisa fazer algumas coisas especiais para fazê-lo funcionar.
https://gist.github.com/burtlo/3788048
fonte
Você pode usar o backtick. Algumas versões mais antigas do tmux não suportam backtick, portanto, você pode fazer o seguinte para solucionar o problema (que adicionaria C-`, C- @ e C-space como sua meta ao mesmo tempo):
Normalmente refiro meu CapsLock para Ctrl, por isso faz ainda mais sentido com o backtick.
fonte
A maioria das respostas aqui usa Ctrl como parte de uma combinação de teclas.
Quando usei Ctrl, meu dedo mindinho começou a doer porque eu sempre tive que espalhá-lo até Ctrl.
Eu uso o
Alt-j
que digito com o polegar esquerdo e o indicador direito, e é muito conveniente. Também não encontrei nenhuma colisão com nenhum outro programa até agora.fonte
Para a tela GNU, mapeando o backtick para escapar, o seguinte em ~ / .screenrc funciona para mim.
fonte
Gosto da sugestão de vincular ctrl- \ como prefixo , mas, para que isso funcione no Linux Mint 12, tive que escapar do lugar da vinculação na parte inferior. Caso contrário, não seria necessário. Veja meu .tmux.conf aqui: Usando o tmux com o emacs e o vim
fonte
Eu acho que os usuários de Mac acharão
§
mais conveniente que o backtick.No teclado não Mac , o backtick está posicionado aproximadamente na mesma tecla que
§
nos teclados Mac. Portanto, para ter a mesma conveniência das pessoas que sugerem o uso do backtick, use o sinal de parágrafo em um teclado Mac.O uso do backtick nos teclados Mac é complicado, pois fica muito próximo às teclas de deslocamento esquerda (⇧), controle (⌃) e (⌥) teclas alt. Nos MacBooks, mesmo perto da
fn
tecla esquerda .fonte