![bash 提示下方的 tab 补全列表](https://linux22.com/image/1359956/bash%20%E6%8F%90%E7%A4%BA%E4%B8%8B%E6%96%B9%E7%9A%84%20tab%20%E8%A1%A5%E5%85%A8%E5%88%97%E8%A1%A8.png)
每当我使用制表符补全时,就会显示可能性列表,并且提示会重复如下(|
表示最终光标位置):
$ vim ~/.<TAB>
./ ../ .bashrc .vimrc
$ vim ~/.|
我想要以下类似 zsh 的行为:
$ vim ~/.<TAB>|
./ ../ .bashrc .vimrc
也就是说,显示建议在旧提示下方。一旦我完成,旧的建议应该被覆盖或消失,而不是弄乱我的屏幕。
这可能吗?如果可以,怎么做?
答案1
虽然bash
没有完美匹配的完成菜单,但是您可以使用绑定zsh
来减少屏幕混乱:menu-complete
.bashrc
bind '\C-n:menu-complete'
bind '\C-p:menu-complete-previous'
Ctrl这些绑定在命令行上使用+N和Ctrl+循环完成P(不显示完整列表)。您的系统可能已经绑定了这些键;要检查:
bind -p | grep menu-complete