¿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 ...

mgalgs
fuente
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 .

mgalgs
fuente
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 ...

Dobes Vandermeer
fuente
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
FALL3N
fuente
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

Dennis
fuente
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