bash 提示下方的 tab 补全列表

bash 提示下方的 tab 补全列表

每当我使用制表符补全时,就会显示可能性列表,并且提示会重复如下(|表示最终光标位置):

$ 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这些绑定在命令行上使用+NCtrl+循环完成P(不显示完整列表)。您的系统可能已经绑定了这些键;要检查:

bind -p | grep menu-complete

相关内容