題 有沒有辦法在bash中保存鍵盤宏?


我想永久保存一個 鍵盤宏 我用錄製的 C-x( 和 C-x)。是否有一種簡單的方法可以為我新錄製的宏“查看源代碼”,以便將其綁定到〜/ .inputrc中的鍵盤快捷鍵?

我想 dump-macros 會這樣做,但它似乎沒有......


11
2018-06-06 23:08


起源


好吧,我會被詛咒。我不知道這個功能。 - Charlie Martin
我使用gnome-terminal和gconf-editor來配置鍵盤快捷鍵。 - saeedgnu


答案:


事實證明這是不可能的,也就是說,直到今晚才有可能!

因為我很想挖掘bash源代碼,所以我繼續並添加了這個功能:)。我們將看看bash維護者是否適用 我的補丁


2
2017-10-14 08:51





我能想到的最好是嘗試:

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

或者,如果宏有多行,請嘗試:

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

如果您使用過控製字符,您可能希望在其中添加一個sed,用inputrc的右轉義碼替換它們。

然後進入並編輯最後一行,以獲得正確的前綴和後綴,以實現您想要實現的目標......


1
2018-06-18 12:13



保存一個步驟,編輯.inputrc,位置到你想要宏的地方和C-x e'輸入'。但是,是的,我會說這是最好的方式,當然,你可以把它放在你想要的任何地方,它只是一堆按鍵。如果您沒有處於“正確的模式/位置/程序”,您可能會被誤解為輸入。但是人們會期望如果你沒有在正確的地方使用宏,對吧? - lornix


添加此行 .inputrc

alias macro

0
2018-06-26 03:33



哦,謝謝你糾正,我的壞:/ - FALL3N


看起來 .inputrc文件 允許你只編輯你的命令。我嘗試使用 dump-macros 但也無法讓它工作,也沒有太多關於它的文檔。也許它不起作用或被棄用。

如果有像這樣的命令 xev 對於emacs綁定,這將是有幫助的。在任何情況下,我認為你最好的選擇是編輯 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


0
2018-06-19 07:19



是的,重點是 不 必須手工編寫宏,但打印出我剛錄製的那個... - mgalgs
原來 dump-macros 只需打印出您當前定義的宏輸出的內容。 - mgalgs