No Bash (shell do terminal Mac / Linux), as teclas de seta para cima e para baixo podem funcionar para funcionar como em editores de texto?

8

Nos editores de texto, se eu pressionar as teclas de seta para cima e para baixo, ele move o cursor entre as linhas de texto.

No Bash, se eu estiver digitando um comando longo que abranja várias linhas e pressiono as teclas de seta para cima e para baixo, ele percorre o histórico de comandos.

Eu quero o comportamento anterior no Bash. Isso é possível? Se não, existe qualquer maneira de mover o cursor diretamente para cima ou para baixo em um comando multi-linha?

    
por Frungi 04.05.2013 / 03:35

6 respostas

11

Não, não é possível. O Bash usa GNU Readline para lidar com entradas de linha interativas. Não há nenhum comando no Readline que se mova entre as linhas de exibição como você deseja, nem existe uma variável de configuração comparável à variável line-move-visual do GNU Emacs que faz com que a próxima linha e a linha anterior mover por linhas de exibição.

    
por 04.05.2013 / 04:14
5

O que eu faço é pressionar CTRL + seta para a esquerda e ele vai pular para a primeira letra após o último espaço encontrado. Você pode rapidamente chegar onde precisa fazendo isso.

    
por 04.05.2013 / 03:46
3

Talvez você esteja procurando algo como xiki. É como um shell / editor de texto.

Aqui está uma demonstração em vídeo: link

    
por 04.05.2013 / 11:33
3

Você pode usar Ctrl + Esquerda e Ctrl + Direita para navegar através das palavras ao invés de caracteres, e Home e End para ir ao começo e ao fim do comando digitado.

    
por 04.05.2013 / 07:46
2

Veja também a% man_de% manpage na seção bash(1) para outros atalhos de navegação.

    
por 04.05.2013 / 07:27
1

Ctrl + A para ir ao início e Ctrl + E para o final do comando.

    
por 04.05.2013 / 23:08