En Bash (terminal de terminal de Mac / Linux), ¿se puede hacer que las teclas de flecha arriba y abajo funcionen como lo hacen en los editores de texto?


8

En los editores de texto, si presiono las teclas de flecha arriba y abajo, mueve el cursor entre líneas de texto.

En Bash, si estoy escribiendo un comando largo que abarca varias líneas y presiono las teclas de flecha arriba y abajo, se desplaza por el historial de comandos.

Quiero el comportamiento anterior en Bash. es posible? Si no, ¿hay alguna forma de mover el cursor directamente hacia arriba o hacia abajo en un comando de varias líneas?


Se mueven entre líneas ... solo que la línea es muy larga.
vonbrand

Respuestas:


11

No, no es posible. Bash usa GNU Readline para manejar la entrada de línea interactiva. No hay ningún comando en Readline que se mueva entre las líneas de visualización como desee, ni hay una variable de configuración comparable a la variable visual de movimiento de línea de GNU Emacs que hace que la línea siguiente y la línea anterior se muevan por líneas de visualización.


Decepcionante, pero gracias! Y creo que las respuestas a otra pregunta serían útiles para las personas con esta misma pregunta: stackoverflow.com/questions/657130/…
Frungi


3

Tal vez estás buscando algo como xiki. Es como un editor de shell / texto.

Aquí hay una demostración de video: http://youtu.be/bUR_eUVcABg


¡Xiki se ve increíble! Quiero algo así que pueda ejecutarse en Windows ...
Max

2
@Max según la página de proyectos de Github, "Acabamos de parchear el4r, por lo que existe la posibilidad de que Xiki funcione en Windows". Puede consultarlo aquí: github.com/trogdoro/xiki
jason

Esto es sorprendentemente ordenado y nerd, pero realmente no es lo que quería hacer. Solo quería usar Bash o algún otro shell común. Gracias, sin embargo!
Frungi

3

Puede usar Ctrl+ Lefty Ctrl+ Rightpara navegar a través de palabras en lugar de caracteres, Homey Endpara ir al principio y al final del comando escrito.


2
Además, Ctrl + A para ir al principio y Ctrl + E para ir al final
ignis

1
@ignis deberías poner eso en una respuesta.
evilsoup

2

Consulte también la página de bash(1)manual en la Commands for Movingsección de encabezado para ver otros accesos directos de navegación.


1

Ctrl + A para ir al principio y Ctrl + E para ir al final del comando.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.