为什么 Tab 补全在 OS X 终端中只在某些时候有效?例如cd docu
Tab
例如,当我在/Users/
时,它工作正常。但是当我在~/
时,它根本不起作用。
一旦进入,~/Documents/
它又可以正常工作了。怎么回事?我输入的内容绝对足够多,可以消除子文件夹中的任何歧义。
答案1
Tab 补全区分大小写。
您的用户名通常全部小写,这就是为什么cd username
在 中有效/Users
,但cd docu
在 中无效的原因~
——文件夹名称是文件,大写德。
如果您想改变这种行为,请将以下几行添加到您的~/.inputrc
.
$if Bash
set completion-ignore-case On
$endif
如果您没有,~/.inputrc
您可以创建一个,并使用以下命令添加上述内容:
echo "set completion-ignore-case On" >> ~/.inputrc
答案2
较新版本的 MacOS(10.15+)zsh
在终端中使用,因此您需要对其进行配置。
将这些行添加到~/.zshrc
:
autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
更多信息请点击这里: https://superuser.com/a/1092328/222897