我正在寻找cd命令的调整,以便识别目录的拼写错误并自动完成类似的目录名称。
目前,我的设置可以识别目录的拼写错误,但不会自动完成它们。
对于目录拼写错误更正,我在~/.bashrc
:
shopt -s cdspell
现在它按以下方式工作,假设我有一个名为“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
但我遇到的问题是假设我创建一个名为Temp的目录并执行类似
的操作vickey@home:~$ mkdir Temp
vickey@home:~$ cd temp
Temp
vickey@home:~/Temp$ cd ..
vickey@home:~$ cd te #and tab here
test/ textin/
它没有显示Temp
作为选项。反正是否使自动完成不敏感?
答案 0 :(得分:26)
完成是readline
的一项功能。
您可以通过以下方式启用不区分大小写的完成:
1)添加到~/.bashrc
:
bind 'set completion-ignore-case on'
OR
2)添加到/etc/inputrc
:
set completion-ignore-case on
注意:
/etc/inputrc
,正如@mak评论一样,会影响使用readline
的所有shell,而不仅仅是bash
。
这会使所有完成不区分大小写。