Vih*_*rma 20 bash cd autocomplete case-insensitive
我正在寻找cd命令的调整,以便它识别目录的拼写错误并自动完成类似的目录名称.
现在,我有一些设置可识别目录的拼写错误,但不会自动完成它们.
对于目录拼写错误更正我有这个代码~/.bashrc:
shopt -s cdspell
Run Code Online (Sandbox Code Playgroud)
现在它按以下方式工作,假设我有一个名为"trash"的目录
vickey@home:~$ cd tras
trash
vickey@home:~/trash$ cd ..
vickey@home:~$ cd trasx
trash
vickey@home:~/trash$ pwd
/home/vickey/trash
vickey@home:~/trash$
vickey@home:~$ cd Trash
trash
vickey@home:~/trash$ pwd
/home/vickey/trash
Run Code Online (Sandbox Code Playgroud)
但我遇到的问题是假设我创建一个名为Temp的目录并执行类似的操作
vickey@home:~$ mkdir Temp
vickey@home:~$ cd temp
Temp
vickey@home:~/Temp$ cd ..
vickey@home:~$ cd te #and tab here
test/ textin/
Run Code Online (Sandbox Code Playgroud)
它没有显示Temp为一个选项.反正是否使自动完成不区分大小写?
Arj*_*kar 26
完成是一个特点readline.
您可以通过以下方式启用不区分大小写的完成:
1)添加到您的~/.bashrc:
bind 'set completion-ignore-case on'
Run Code Online (Sandbox Code Playgroud)
要么
2)添加到您的/etc/inputrc:
set completion-ignore-case on
Run Code Online (Sandbox Code Playgroud)
笔记:
/etc/inputrc,作为@mak注释,影响所有使用的shell readline,而不仅仅是bash.
这将使所有完成不区分大小写.