Comportamiento ctrl-o en Terminal.app

16

A menudo uso el acceso directo + Oen bash (de "Aprendizaje del bash Shell" ):

[G] o regrese a [un comando en el historial] y presione + en Olugar de . Esto ejecutará el comando y mostrará el siguiente comando en el archivo de historial. Presione + Onuevamente para ingresar este comando y abrir el siguiente.

Parece que este acceso directo no está disponible en OS X; + Osimplemente no hace nada. Una búsqueda en la web muestra la sugerencia de usar !bash builtin , pero no veo cómo puedo lograr lo mismo que + Ocon él.

¿Es posible obtener de alguna manera el comportamiento + Oen Terminal.app en OS X?

Mike Mazur
fuente

Respuestas:

19

+ Oes, por algún motivo (probablemente relacionado con su uso para el control de flujo en algunos tipos de conexiones en serie) configurado para ser descartado por el controlador de terminal (es decir, no Terminal.app, sino la parte del sistema operativo entre este y el cáscara). Puedes deshacerte de esto con el comando stty discard undef. Para que este cambio sea permanente, agregue este comando a sus archivos .bash_profile y .bashrc .

Gordon Davisson
fuente
3

man bashpodría ayudar. El "READLINE" y "Readline Key Bindings" hablan sobre la vinculación de las pulsaciones de teclas disponibles y cómo configurar los valores predeterminados de readline.

También la Hoja de trucos del modo de edición de Bash Emacs y el trabajo productivo en el modo de edición de la línea de comandos Vi de Bash (con la hoja de trucos) son buenos para descubrir qué pulsa la tecla si está usando el modo vi en lugar de los emacs predeterminados. En cualquier caso, bind -P | grep foundle mostrará qué combinaciones de teclas están configuradas en modo vi y bind -Pmostrará todo lo disponible.

Greg
fuente
2
¡Vaya, no tenía idea de que había modo vi disponible en bash! Esto es más que dulce. ¡Gracias!
Mike Mazur
2
Sentí lo mismo cuando descubrí que estaba disponible.
Greg
yo también yo también :)
Robert S Ciaccio