Zsh хочет автозамены команды, с перед ним


Я только начал использовать Zsh в последнее время для некоторой интегрированной поддержки в командной строке для моего статуса Git и т. д.

когда я набираю:

 ruby -v

чтобы подтвердить версию ruby, которую я запускаю, Zsh спрашивает, хочу ли я изменить команду на _ruby. Ну, сказав " нет " в командной строке и выполнив команду, как ожидалось, я продолжаю получать вопрос в командной строке после подтверждения правильности моей команды.

Я предполагаю, что есть файл завершения или что-то в этом роде.

спасибо

обновление:

оболочка больше не пытается завершить _ruby, она перестала отвечать после закрытия оболочки несколько раз каким-то образом.

Я пытался очистить файл несколько раз, но есть переменная "opts", которая составляет 50 или более строк, и все строки выполняются вместе, некоторые строки более 150 символов. Может быть, я мог бы отправить вам вложение, если вы все еще хотите его увидеть. Я искренне извиняюсь за грязный пост.

4 69
zsh

4 ответа:

это автокоррекция команды, активируемая . Это не имеет ничего общего с окончанием. Вы видите _ruby потому что zsh думает, что нет ruby команда и она предлагает _ruby как ближайший существующий матч.

если вы только что установили ruby, возможно,zsh запомнил список доступных команд ранее, и он не всегда будет пытаться увидеть, появилась ли команда между ними. В таком случае, бегите hash -rf. Будущие сессии zsh не будет иметь этой проблемы, так как уже существовала, когда они начали.

иногда, когда вы меняете свой PATH, zsh забывает некоторые хэшированные команды. Вариант hash_listall помогает против этого. Как и выше, если вы можете заставить zsh обновить свой кэш команд с помощью hash -rf.

вы могли бы сделать псевдоним:

alias ruby='nocorrect ruby'

Это то, что я сделал, когда zsh продолжал спрашивать меня, если я имел в виду .meteor когда я набрал meteor потому что автокоррекция по-прежнему полезна время от времени.

Я считаю, что функция автозамены может раздражать время от времени. Так что я делаю в моем~/.zshrc,

DISABLE_CORRECTION="true"

некоторое время назад после обновления, я получил команды автокоррекции включен, который я не хочу. Если же случилось с вами и вы хотите вернуть его, в ~/.zshrc файл у вас будет сделать это:
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="false"

или прокомментировать его в соответствии с ниже:
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"