有没有办法禁用双击 Tab 键的行为(按两次 Tab 键会显示 Bash 中的可用命令)?
答案1
Bash 使用 readline 进行补全和键绑定。您可以在 ~/.inputrc 中设置自己的选项,并在 /etc/inputrc 中设置系统范围的选项。如果这些选项不存在,您可以自行创建。这些选项在 shell 登录时读取,因此您所做的更改只有在创建新的登录 shell 后才会生效。
如果您想要完全禁用完成,您可以使用典型的 GNU“是到否”:
set disable-completion on
如果您想要完成,但又不想使用 tab 键,那么您可以将 tab 绑定到 insert 自身:
TAB: self-insert
这将允许您仍然使用 ESC ESC 完成,或者您可以将完成绑定到您喜欢的另一个键,例如 Ct:
TAB: self-insert
C-t: complete
答案2
您可以选择想要禁用的键映射,而不必关闭自动完成功能。
示例:要禁用多次按下 Esc 键的自动完成功能,请将以下内容添加到您的 ~/.inputrc:
"\e\e": ""
阅读 bash 手册页的“Readline”部分以获取详细信息。
答案3
您可以完全禁用自动完成功能。一些信息:
这取决于你到底想做什么。
如果您只想禁用高级自动完成功能,则可以使用“complete -r”或删除 /etc/bash_completion*
阅读“complete”的手册页可能会有所帮助。这是 shell 的问题,实际上与特定发行版或其他发行版无关。
答案4
另一种可能性是完全禁用 bash(和朋友)!Linux 上还有许多其他 shell 可用。