Хотя я использовал Oh-My-Zsh в прошлом, я решил, что на этот раз (например, при настройке нового компьютера) я постараюсь не устанавливать его, чтобы все было немного компактнее. Прямо сейчас я пытаюсь выбрать нечувствительную функцию завершения табуляции Oh-My-Zsh. Копаясь в исходном репозитории, я нашел следующую строку:
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
Я совершенно уверен, что это строка, которую Oh-My-Zsh выполняет, чтобы делать то, что я хочу, поэтому я попытался добавить ее в свой файл .zshrc
. Перезапустил мой терминал. Введите cd desk
, затем нажмите [tab]. Нет костей -- я не получил cd Desktop/
.
Вот весь .zshrc
для справки:
# pure shell theme
autoload -U promptinit; promptinit
prompt pure
# completion definitions
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
fpath=(/usr/local/share/zsh-completions $fpath)
# syntax highlighting (must be last line)
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Что я делаю неправильно?
rehash
(Из руководства по zsh: Путь команд имеют другие последствия. В частности, zsh не будет искать новую команду, если он уже знает, где ее найти. Если я помещу новую команду ls в /usr/local/bin в приведенном выше примере, zsh продолжит используйте /bin/ls (при условии, что он уже был найден). Чтобы исправить это, существует команда rehash, которая фактически очищает хэш-таблицу команд, так что поиск команд начинается снова с нуля.) 10.01.2020