Existe alguma maneira de salvar uma macro de teclado no bash?


11

Gostaria de salvar permanentemente uma macro de teclado que gravei usando C-x (e C-x ). Existe uma maneira fácil de "ver a fonte" da minha macro recém-gravada para que eu possa vinculá-la a um atalho de teclado em ~ / .inputrc?

Eu pensei dump-macrosque faria isso, mas não parece ...


Bem, eu vou ser amaldiçoado. Eu não sabia sobre esse recurso.
Charlie Martin

Eu uso o gnome-terminal e o gconf-editor para configurar atalhos de teclado.
saeedgnu

Respostas:


3

Acontece que realmente não é possível, ou seja, não era possível até hoje à noite!

Como eu estava curioso para pesquisar o código-fonte do bash, continuei e adicionei esse recurso :). Vamos ver se os mantenedores do bash aplicam meu patch .


1

O melhor que pude pensar é tentar:

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

Ou se a macro tiver várias linhas, tente:

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

Se você usou caracteres de controle, pode colocar um sed lá para substituí-los pelos códigos de escape corretos para inputrc.

Em seguida, entre e edite a última linha para ter o prefixo e o sufixo certos para o que você está tentando alcançar ...


salve uma etapa, edite .inputrc, posicione para onde quiser que a macro e Cx e 'digitem'. Mas sim, eu diria que essa é a melhor maneira, é claro, você pode colocá-la onde quiser, são apenas algumas teclas. Se você não estiver no 'modo / local / programa certo', provavelmente receberá entradas incompreendidas. Mas seria de esperar que, se você não usasse a macro no lugar certo, certo?
lornix 18/09/11


0

Parece que .inputrc permite editar apenas seus comandos. Tentei usar dump-macrostambém, mas não consegui fazê-lo funcionar, nem há muita documentação sobre isso. Talvez não funcione ou esteja obsoleto.

Se houvesse um comando como xevpara ligações do emacs, isso seria útil. De qualquer forma, acho que sua melhor aposta é editar o inputrc usando as diretrizes no primeiro link abaixo, na parte inferior da página. É bem fácil de fazer.

O segundo link é um arquivo inputrc de exemplo para ajudar a descobrir como configurar macros.

Como um aparte, há também um comando interessante chamado bind -Pque listará todas as suas macros.

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

Aqui está um exemplo de arquivo inputrc:

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


Sim, a questão toda é para não ter que escrever a macro com a mão, mas em vez imprimir o que eu acabou de gravar ...
mgalgs

Acontece que dump-macrossimplesmente imprime o que suas macros definidas no momento produziriam.
mgalgs
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.