¿Hay alguna manera de guardar una macro de teclado en bash?


11

Me gustaría guardar permanentemente una macro de teclado que he grabado usando C-x (y C-x ). ¿Hay una manera fácil de "ver la fuente" de mi macro recién grabada para poder vincularla a un atajo de teclado en ~ / .inputrc?

Pensé que dump-macroslo haría, pero no parece ...


Bueno, estaré condenado. No sabía sobre esta característica.
Charlie Martin

Utilizo gnome-terminal y gconf-editor para configurar los atajos de teclado.
saeedgnu

Respuestas:


3

Resulta que realmente no es posible, es decir, ¡no fue posible hasta esta noche!

Como tenía curiosidad por profundizar en el código fuente de bash de todos modos, seguí adelante y agregué esta función :). Veremos si los mantenedores de bash aplican mi parche .


1

Lo mejor que se me ocurre es probar:

echo >>.inputrc '<ctrl-x e>'

O si la macro tiene varias líneas, intente:

echo >>.inputrc <<EOF
<ctrl-x e>
EOF

Si ha utilizado caracteres de control, puede poner un sed allí para reemplazarlos con los códigos de escape correctos para la entrada.

Luego ingrese y edite la última línea para tener el prefijo y sufijo correctos para lo que está tratando de lograr ...


guarde un paso, edite .inputrc, ubíquelo donde desee que la macro y Cx e lo "escriban". Pero sí, diría que esta es la mejor manera, por supuesto, puedes ponerlo donde quieras, es solo un montón de pulsaciones de teclas. Si no está en el 'modo / lugar / programa correcto', es probable que reciba entradas incomprendidas. Pero uno esperaría que si no usaras la macro en el lugar correcto, ¿verdad?
lornix

0

Agregue esta línea a .inputrc:

alias macro

oh, gracias por corregir eso, mi mal: /
FALL3N

0

Parece que .inputrc te permite editar tus comandos. Intenté usarlo dump-macrostambién pero no pude hacerlo funcionar ni hay mucha documentación al respecto. Quizás no funciona o está en desuso.

Si hubiera un comando como xevpara enlaces de emacs, sería útil. En cualquier caso, creo que su mejor opción es editar la computadora usando las pautas en el primer enlace a continuación en la parte inferior de la página. Es bastante fácil de hacer.

El segundo enlace es un archivo inputrc de ejemplo para obtener ayuda sobre cómo configurar macros.

Por otro lado, también hay un comando genial llamado bind -Pque enumerará todas sus macros.

http://www.gnu.org/software/bash/manual/html_node/Mis Miscellaneous-Commands.html#Mis Miscellaneous-Commands

Aquí hay un ejemplo de archivo inputrc:

http://www.gnu.org/software/bash/manual/html_node/Sample-Init-File.html#Sample-Init-File


Sí, el objetivo es no tener que escribir la macro con la mano, pero en lugar de imprimir la que acaba de grabar ...
mgalgs

Resulta que dump-macrossimplemente imprime lo que generarían las macros definidas actualmente.
mgalgs
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.