%20%D0%B8%D0%B7%D0%B1%D0%B5%D0%B6%D0%B0%D1%82%D1%8C%20%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BE%D1%80%D1%84%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8%20%D0%BF%D1%80%D0%B8%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B%20%60mv%60%20%D0%B2%20zsh%3F.png)
Хотя я люблю zsh и считаю его исправление орфографии полезным, раздражает, что он исправляет вещи, которыеочевидноне следует исправлять. Например, я только что выполнил
mv iso_ iso
и он ответил
zsh: correct 'iso' to 'iso_' [nyae]?
Подумайте об этом. Исправление 'iso' на 'iso_' будет означать, что я пытаюсь выполнить
mv iso_ iso_
что НИКОГДА не имело бы смысла. Поэтому это действительно недостаток дизайна zsh, и его следует исправить повсеместно. Но, учитывая, что этого не было (по крайней мере в той версии, которую я использую) и вряд ли будет, есть ли какие-то настройки для исправления? Я бы предпочел несложный способ исправления. mv
Например, псевдонимы для , являются непростыми.
решение1
Есть неуклюжий способ исправить это. Чтобы исправить поведение mv
, cp
, и mkdir
, добавьте это в ваш файл .zshrc:
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'
Это не идеальное решение по нескольким причинам, не последней из которых является то, что могут быть случаи, когда выделатьхотите исправление орфографии для mv
команды. Например, если вы пытаетесь выполнить:
mv directory_a/sub/sub/some_file directory_b/sub/sub/
но вы неправильно написали один из каталогов и в итоге набрали
mv directory_a/sub/sub/some_file directry_b/sub/sub/
Исправление орфографии могло бы быть полезным. (Это, конечно, надуманный пример, но вы поняли суть.)
решение2
Ну, не используйте эту correct_all
опцию, если вам не нравится ее действие.
FWIW, он НЕ установлен по умолчанию. В сети есть популярная конфигурация (не скажу какая), которая почему-то считает, что это забавная идея установить эту опцию для всех... хотя, для МНОГИХ приложений это не имеет смысла. Это делаеткаждыйаргумент командной строки, подлежащий исправлению орфографии имени файла... Это безумие.
Короче говоря: только setopt correct
иНЕТ setopt correctall
.
Если вам нужна помощь с написанием имен файлов, система завершения zsh может помочь вам с ее _approximate
и _correct
комплементами. Подробности можно найти на zshcompsys(1)
странице руководства.