Zsh хочет автокорректировать команду, с _ перед ней

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

Когда я ввожу:

 ruby -v

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

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

Спасибо

Update:

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

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

Ответ 1

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

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

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

Ответ 2

Вы можете сделать псевдоним:

alias ruby='nocorrect ruby'

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

Ответ 3

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

DISABLE_CORRECTION="true"

Ответ 4

Когда-то после обновления, я получил команду автокоррекции, которую я не хочу. Если то же самое произошло с вами, и вы хотите его вернуть, в файле ~/.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"