有什么方法可以在bash中保存键盘宏吗?


11

我想永久保存使用和录制的键盘宏。是否有一种简单的方法可以为新录制的宏“查看源代码”,以便将其绑定到〜/ .inputrc中的键盘快捷键?C-x (C-x )

我以为dump-macros会做,但似乎没有...


好吧,我该死的。我不知道此功能。
查理·马丁

我使用gnome-terminal和gconf-editor来配置键盘快捷键。
saeedgnu 2011年

Answers:


3

事实证明,这实际上是不可能的,也就是说,直到今晚才有可能!

由于我一直想深入研究bash源代码,因此我继续添加此功能:)。我们将看看bash维护者是否应用了我的补丁


1

我能想到的最好的方法是尝试:

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

或者,如果宏有多行,请尝试:

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

如果您使用过控制字符,则可能希望在其中放置sed,以将它们替换为inputrc的正确转义码。

然后进入并编辑最后一行,为要实现的目标添加正确的前缀和后缀...


保存一个步骤,编辑.inputrc,将其定位到希望宏和Cx e“键入”的任何位置。但是,是的,我想这是最好的方法,当然,您可以将其放置在任何位置,这只是一堆击键。如果您不在“正确的模式/位置/程序”中,则可能会得到误解。但是有人会期望,如果您没有在正确的位置使用宏,对吗?
lornix 2011年


0

看来.inputrc允许您仅编辑命令。我dump-macros也尝试使用,但无法正常工作,也没有太多文档。也许它不起作用或不推荐使用。

如果有类似xevemacs绑定的命令,那将很有帮助。无论如何,我认为最好的选择是使用页面底部下面第一个链接中的指南来编辑inputrc。这很容易做到。

第二个链接是一个示例inputrc文件,可帮助您弄清楚如何设置宏。

顺便说一句,还有一个很酷的命令bind -P,它会列出所有宏。

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

这是一个示例inputrc文件:

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


是的,整个要点是不必手动编写宏,而是打印出我刚刚记录的宏……
mgalgs 2011年

原来dump-macros只是打印出您当前定义的宏将输出的内容。
mgalgs 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.