Você pode usar qualquer tecla de função que a Tela reconheça como o caractere de escape. Defina o caractere de escape (mais precisamente, o byte de escape ) como aquele que você nunca digita, por exemplo, \377
que nunca é usado pelo UTF-8. Ligue a tecla que você deseja usar como tecla de escape command
, por exemplo F12(que está F2
no termcap speak - consulte a seção "Tradução de entrada" no manual da tela):
escape \377\377
bindkey -k F2 command
Você não está limitado às teclas para as quais o Screen conhece um nome simbólico. Para definir uma chave arbitrária ou keychord como a tecla de comando (a chave precisa enviar uma sequência de escape no terminal), descubra qual seqüência de escape ela envia pressionando Ctrl+ Ve a tecla em um prompt de shell. Isso faz com que a sequência de escape seja inserida literalmente, em vez de ser reconhecida pelo shell como uma sequência de escape. Por exemplo, se você quiser usar F12, poderá pressionar Ctrl+ Ve F12inserir ^[[24~
(o primeiro ^[
representa o caractere de escape) (alguns terminais podem enviar uma sequência de escape diferente); então você usaria
bindkey ^[[24~ command
Uso Ctrl+ \como minha tecla de escape da tela ( escape ^\\\
) e deixo Ctrl+ \ \injetar um ^\
caractere. Poucos programas usam o ^\
caractere de controle. No Emacs, chama toggle-input-method
, que eu não uso; sua milhagem pode variar. Em um terminal preparado, ele envia SIGQUIT, o que raramente é útil (quando necessário, Ctrl+ Zseguido pelo kill
comando geralmente também funciona; eu padrão de desabilitar os core dumps). Ctrl+ \pode ser difícil digitar em alguns layouts de teclado quando \necessário AltGr, mas no layout dos EUA é simples. Também configuro meu emulador de terminal para enviar o ^\
caractere quando pressiono Ctrl+ `, o que me permite digitá-lo com a mão esquerda também.
Ctrl+ ](Emacs :) abort-recursive-edit
e Ctrl+ ^(Emacs: indefinido; mas é estranho digitar em um teclado dos EUA e em muitos outros layouts) são outros candidatos prováveis para um usuário do Emacs.
A propósito, se você usar o Screen apenas para executar o Emacs e algumas conchas, não precisará do Screen. O Emacs pode desempenhar o mesmo papel. Mantenha um único processo do Emacs em execução e use-o emacsclient
para abrir uma janela nesse processo do Emacs a partir de qualquer terminal. Se o terminal desaparecer, você poderá executar emacsclient
novamente para conectar-se à mesma instância do Emacs. Você pode ter quantas instâncias emacsclient
quiser e conectadas à mesma instância do Emacs, possivelmente sendo exibidas por diferentes conexões locais e remotas.
Para iniciar o Emacs sem interface, execute emacs --daemon
. Em seguida, execute emacsclient -c
para abrir uma janela para a instância existente do Emacs (ou emacsclient -c -nw
para forçar uma janela no modo de texto). Se você deseja iniciar o Emacs, se ele ainda não foi iniciado, mas conecte-se à instância existente do Emacs, se houver, execute emacsclient -a '' -c
.
Se você deseja executar conchas, pode usar M-x shell
ou algo M-x term
semelhante dentro do Emacs. O Emacs pode fazer praticamente tudo o que a Screen pode fazer.
screen
metacaractere do seu terminal; por padrão,^A-a
é um literal^A
enviado para a sessão do terminal. Dito isso, você deve poder usar a-e
opção para definir o sinal de comando de substituição e o comando para enviá-lo como um literal. (-e^Aa
é o padrão, por exemplo).