![如何使用 bash 中的 tab 键来扩展别名(同时保留当前选项卡功能)](https://linux22.com/image/1543795/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20bash%20%E4%B8%AD%E7%9A%84%20tab%20%E9%94%AE%E6%9D%A5%E6%89%A9%E5%B1%95%E5%88%AB%E5%90%8D%EF%BC%88%E5%90%8C%E6%97%B6%E4%BF%9D%E7%95%99%E5%BD%93%E5%89%8D%E9%80%89%E9%A1%B9%E5%8D%A1%E5%8A%9F%E8%83%BD%EF%BC%89.png)
我有这些:
alias nuke-gently="rm -rf"
alias ng="nuke-gently"
在我的.bash_profile
。(nuke
还指向一个运行sudo rm -rf
带有一些保护措施/
的脚本~
)
我希望发生的事情是:
类型:ng
按:<tab>
参见:ng
替换为nuke-gently
我知道这可以通过 Ctrl + Alt + e 来完成,但这有点违背了我的两个字母别名的目的。
有没有办法除了按 Ctrl + Alt + e 之外还运行“ ng
?”,同时保留其他所有内容的现有制表符补全?
答案1
将其放在 SHIFT + Tab 上。这就是我所做的。
将以下行放入您的“~/.inputrc”中:
"\e[Z": "SHIFT-TAB"
"SHIFT-TAB": history-and-alias-expand-line
现在,您可以使用 完成Tab
并解决Shift + Tab
。这绝对舒适且有效。