Shell: como ir para o início da linha quando você está dentro de uma tela?

64

Estou dentro de uma tela (tela -Ra). Eu tenho um longo comando e estou no final. Em vez de manter a seta para a esquerda, como você pode ir para o começo da linha?

CTRL-A funciona quando estou em uma janela normal, mas quando estou dentro de uma tela, pressionar CTRL-A me fornece a mensagem "Nenhuma outra janela" - parece que o CTRL-A é enviado para a tela.

Como você vai para o começo de uma linha em uma tela?

    
por user11498 19.01.2012 / 13:20

3 respostas

74

Use Ctrl - a a , ou mude o pressionamento de tecla de escape da tela (opção -e ).

    
por 19.01.2012 / 13:30
6

Você pode alterar as associações screen ou alterar as ligações do seu shell. Supondo que seu shell seja bash , a saída de bind -p | grep \C-a deve fornecer a ação atual vinculada a Ctrl+A . Para vincular esta ação a outra coisa, use o seguinte formulário:

$ bind '"\C-p": beginning-of-line'

Isso ligará Ctrl+P para mover o cursor para o começo da linha. Lembre-se das aspas duplas dentro da expressão. Para cancelar a ligação, você apenas configuraria para nada:

$ bind '"\C-a": '

Para listar todas as sequências de entrada associadas à ação, use:

$ bind -p | grep beginning-of-line

Por fim, para fazer o bindma permanente, você pode colocar as instruções em seu arquivo ~/.bashrc e emitir source ~/.bashrc .

    
por 19.01.2012 / 14:32
5
Ctrl - x - Ctrl - x permite ir ao primeiro caractere da linha para qualquer ambiente compatível com readline como Bash, python e mysql. O GNU SCREEN ignora isso com segurança. Nenhuma configuração personalizada é necessária.

Se você usar isto ao invés de Ctrl - a - a , você usa uma tecla de atalho consistente - você não precisa manter em mente se você está no GNU SCREEN ou não.

Para qualquer pessoa interessada, a mesma tecla de atalho também permite que você vá para o final da linha se você já estiver no início.

    
por 30.12.2013 / 12:07