Geo*_*Do. 6 bash autocomplete case-sensitivity
我有一个文件夹~/TestFolder
。当前工作目录是主目录( ~
)。
我想输入部分命令,例如cd test
,并且我希望它自动填充以在按 Tab 时给出命令cd TestFolder
。
我怎样才能实现这个目标?
将以下内容添加到您的~/.bashrc
-file 中:
bind -s \'set completion-ignore-case on\'
这可以在 bash 中实现不区分大小写的完成,正如 Gilles 在\n How to make cd argument case INsensitive?中的回答所解释的那样。。
\n在 Ubuntu 20.04 上使用 bash 5.0.17 进行了测试。
\n我只测试了 bash 和 zsh。这是我在其他 shell 中发现的:
\n链接答案中的另一个选项添加set completion-ignore-case on
到inputrc
. 其他 shell 也可以使用它。根据这个答案,其中还讨论了是否在 bash 中使用此选项。
因此,如果不使用 bash,首先研究您的特定 shell 是个好主意(除非其他人会为其他 shell 添加经过测试的答案)。
\nzsh
使用不同的行编辑器而不是 readline/inputrc。2
安装时,它提供了按添加推荐的选项~/.zshrc
,其中已包含以下行。它使所需的行为开箱即用:
zstyle \':completion:*\' matcher-list \'\' \'m:{a-z}={A-Z}\' \'m:{a-zA-Z}={A-Za- z}\' \'r:|[._-]=* r:|=* l:|=*\'
在 Ubuntu 20.04 上使用 zsh 5.8 进行了测试。
\n这也可能有帮助:Combining zsh\xe2\x80\x99s tab finish with case insensitivity
\n