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


8

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

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

Eu quero o antigo comportamento no Bash. Isso é possível? Caso contrário, existe alguma maneira de mover o cursor diretamente para cima ou para baixo em um comando de várias linhas?


Eles se movem entre linhas ... só que a linha é muito longa.
Vonbrand #

Respostas:


11

Não, não é possível. O Bash usa o GNU Readline para lidar com a entrada de linha interativa. Não existe um 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 visual de movimentação de linha do GNU Emacs que faz com que a linha seguinte e a linha anterior se movam pelas linhas de exibição.


Desapontante, mas obrigado! E eu acho que as respostas a outra pergunta seria útil para as pessoas com essa mesma pergunta: stackoverflow.com/questions/657130/...
Frungi


3

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

Aqui está uma demonstração em vídeo: http://youtu.be/bUR_eUVcABg


Xiki parece incrível! Eu quero algo parecido que pode funcionar com janelas ...
Max

2
@ Max, de acordo com a página do github do projeto, "Acabamos de corrigir o el4r, para que haja uma chance do Xiki funcionar no Windows". Você pode conferir aqui: github.com/trogdoro/xiki
jason

Isso é surpreendentemente limpo e nerd, mas realmente não é o que eu estava querendo fazer. Eu só queria usar o Bash ou algum outro shell comum. Obrigado, no entanto!
Frungi

3

Você pode usar Ctrl+ Lefte Ctrl+ Rightpara navegar pelas palavras em vez dos caracteres Homee Endir para o início e o fim do comando digitado.


2
Além disso, Ctrl + A para ir para o início e Ctrl + E para ir até o fim
Ignis

1
@ignis você deve colocar isso em uma resposta.
Evilsoup

2

Consulte também a página de bash(1)manual na Commands for Movingseção de cabeçalho para outros atalhos de navegação.


1

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

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.