Я полностью переключился на zsh на предыдущей установке arch, и он мне ОЧЕНЬ понравился, в основном потому, что arch — один из дистрибутивов, который пишет с заглавной буквы ваши Documents, Downloads, Music и подобные каталоги в вашем каталоге ~. Так как я не привык к этому и использую автодополнение Tab для почти всего в терминале, zsh был для меня раем по сравнению с bash... Клянусь, эта функция раньше была активна автоматически, потому что я не помню, чтобы мне приходилось что-то настраивать, чтобы заставить ее работать таким образом. Вероятно, я понял это случайно. xD Но я бы очень хотел восстановить эту функцию на моем новом ПК, используя zsh в качестве основной оболочки, и если кто-то знает, как это сделать, я был бы очень признателен за ответ. Я пробовал активировать каждую опцию в конфигурации автодополнения, и это, похоже, не сработало... так что это привело меня сюда.
PS: Раньше я был намного более продвинутым в своих знаниях о Linux, и теперь мои знания устарели... Я пытаюсь это исправить... (без использования клавиши Shift, насколько это возможно... хаха)
решение1
TL;DR: Это возможно, если вы добавите эти строки в свой zsh
файл конфигурации, обычно ~/.zshrc
:
autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
Еще немного информации:
Это возможно при использовании система завершения zsh(начато autoload -Uz compinit && compinit
) и управляетсяzstyle:
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
Это означает zsh
, что строчные буквы будут соответствовать строчным и заглавным буквам. (т.е. заглавные буквы соответствуют только заглавным буквам.)
Если вы хотите, чтобы заглавные буквы также соответствовали строчным буквам, используйте вместо этого:
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
Если вы хотите, чтобы совпадения выполнялись без учета регистра, только если нет совпадений, учитывающих регистр, добавьте ''
, например
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'
См. также описание matcher-list
в man zshcompsys
.