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


70

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

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

Como você vai para o início de uma linha em uma tela?


3
Solução rápida: pressione a Hometecla para chegar ao início e Endchegar ao fim da linha.

11
Isso também depende muito do modo de entrada e shell que você está usando, embora eu assuma que você esteja usando o bash e as ligações padrão do emacs.
Patrick

11
@hesse, dado que o teclado possui um Homebotão. Nem sempre o caso
Matteo

O OP pode estar interessado nesta questão relacionada .
dotancohen

Respostas:


81

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


6
Caso não esteja claro, pressione Ctrl- a, solte as duas teclas e pressione a. Não cometa o mesmo erro que cometi mantendo Ctrlpressionado. Bom cartão de referência para esta e outras
combinações de

6

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

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

Isso será vinculado Ctrl+Ppara mover o cursor para o início da linha. Lembre-se das aspas duplas dentro da expressão. Para desarmar uma ligação, você deve defini-la como nada:

$ bind '"\C-a": '

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

$ bind -p | grep beginning-of-line

Por fim, para tornar o vínculo permanente, você pode colocar as instruções em seu ~/.bashrcarquivo e problema source ~/.bashrc.


6

Ctrl- x- Ctrl- xpermite ir para o primeiro caractere da linha em qualquer ambiente compatível com a linha de leitura, como Bash, python e mysql. A tela GNU ignora isso com segurança. Nenhuma configuração personalizada é necessária.

Se você usar isso em vez de Ctrl- a- a, use uma tecla de atalho consistente - não precisará ter em mente se está na GNU SCREEN ou não.

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


5
Na verdade C-x C-xé exchange-point-and-mark. Acontece que a marca está no início da linha por padrão. Você pode usar C-spacepara definir a marca em outro lugar.
precisa

Ivan, normalmente o que você pode fazer depois de trocar um ponto e marcar? Obrigado.
Susheel Javadi
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.