禁用 bash 选项卡完成

Tyi*_*ilo 20 bash autocomplete

是否可以在按 Tab 键时禁用 bash 的自动完成功能?

我想这样做的原因是我经常将代码从编辑器中粘贴到我的终端中,在那里我使用制表符而不是许多空格作为缩进。

不,你不能说服我使用空格而不是制表符。

rus*_*ush 17

 set disable-completion on
Run Code Online (Sandbox Code Playgroud)

输入字符串~/.inputrc并重新启动您的外壳。它将完全禁用完成。

  • 为了让它只影响 Bash,而不是在你的 `~/.inputrc` 文件中包含该行,将它添加到适当的 shell 启动文件中:`bind 'set disable-completion on'` (8认同)

小智 9

丹尼斯的解决方案

bind 'set disable-completion on'
Run Code Online (Sandbox Code Playgroud)

也可以在 Bash 中即时完成。你不需要把它放在 .bashrc 中。

Musta 的解决方案 (bash --noediting) 有效但也禁用了命令行编辑。

另一种方式是

bind -u complete
Run Code Online (Sandbox Code Playgroud)

(未设置与“完整”关联的键绑定)

http://www.gnu.org/software/bash/manual/bashref.html,4.2 Bash 内置命令。


小智 6

要暂时禁用 Bash 选项卡完成,您可以使用以下--noediting选项启动 Bash :

alias noed='bash --noediting'
Run Code Online (Sandbox Code Playgroud)