Тонкая настройка Bash 'cd' и завершение TAB для распознавания орфографических ошибок
Я искал настройку команды cd, чтобы распознавать орфографические ошибки каталогов и автоматически заполнять похожие имена каталогов.
Сейчас у меня есть настройки, которые распознают орфографические ошибки в каталоге, но не завершают их автоматически.
Для исправления ошибок орфографии каталогов у меня есть этот код в ~/.bashrc
:
shopt -s cdspell
Теперь он работает следующим образом, предположим, что у меня есть каталог с именем "trash"
[email protected]:~$ cd tras
trash
[email protected]:~/trash$ cd ..
[email protected]:~$ cd trasx
trash
[email protected]:~/trash$ pwd
/home/vickey/trash
[email protected]:~/trash$
[email protected]:~$ cd Trash
trash
[email protected]:~/trash$ pwd
/home/vickey/trash
Но проблема в том, что я создаю каталог под названием Temp и делаю что-то вроде
[email protected]:~$ mkdir Temp
[email protected]:~$ cd temp
Temp
[email protected]:~/Temp$ cd ..
[email protected]:~$ cd te #and tab here
test/ textin/
он не показывает Temp
в качестве опции. Есть ли способ сделать регистр автозаполнения нечувствительным?
Ответы
Ответ 1
Завершение - это функция readline
.
Вы можете включить нечувствительность к регистру, либо:
1) Добавляем к вашему ~/.bashrc
:
bind 'set completion-ignore-case on'
ИЛИ
2) Добавляем к вашему /etc/inputrc
:
set completion-ignore-case on
Примечания:
-
/etc/inputrc
, как комментарии @mak, воздействует на все оболочки, которые используют readline
, а не только bash
.
-
Это сделает все завершение без учета регистра.