有没有办法让 BASH 在我按 TAB 时填写第一个匹配项,有点像 Windows 命令提示符?
(它仍然应该显示匹配列表,但是当我继续按 Tab 时它应该循环显示它们。)
即这里的目标是能够填写任何匹配和仅有的TAB 键,如果按得足够多的话——就像在 Windows 中一样。
答案1
将以下内容添加到您的.inputrc
文件中(具体位置因系统而异):
"\C-i": menu-complete
这会将 TAB 映射到 menu-complete,从而自动完成第一个匹配项。
然后添加(或取消注释)show-all-if-ambiguous
,这会显示第一次按下 TAB 时可能完成的列表。
例如,在您的(可能).inputrc
文件中:
# On RHEL 8.3 - $HOME/.inputrc
set show-all-if-ambiguous on
"\C-i": menu-complete
或者,您可以通过执行以下操作来设置每个会话的菜单完成(无需编辑.inputrc
)
bind '"\C-i" menu-complete'