Что [няэ] означает в Zsh?

195

Я запускаю следующую команду безуспешно

dir

и я получаю

zsh: correct 'dir' to 'gdir' [nyae]? 

Что [няэ] означает в Zsh?

Лео Леопольд Герц 준영
источник
4
BTW: Вы можете создать псевдоним dirдля ls -l, то ЗШ обыкновение автоматически корректировать его больше , и вы получите ваши ожидаемые результаты.
Eckes

Ответы:

266

zshимеет мощный механизм коррекции. Если вы вводите команду неправильно, это предлагает исправления. Здесь dirпроизошло то, что это неизвестная команда и zshпредлагает gdir, хотя, возможно, lsбыло то, что вы хотели.

  1. Если вы хотите выполнить gdirхит y(да)
  2. Если вы хотите попытаться выполнить в dirлюбом случае, нажмите n(нет)
  3. Если вы хотите выполнить совершенно другую записанную команду, такую ​​как lsнажатие a(отменить) и введите команду
  4. Если вы хотите выполнить подобный комментированный коммент, например udirнажать e(редактировать) и отредактировать вашу команду.
Людвиг Вайнцерль
источник
49
Хотелось бы, чтобы была дополнительная опция ключа, которая упростила бы nocorrect, например [nyaei] - я = игнорировать навсегда!
Manafire
39
Я пришел сюда, потому что думал, что это aбудет означать «всегда». Я хотел бы, чтобы это значило это.
Рафаэль Эйнг
Я на самом деле надеялся на то же самое , как @RafaelEyng, но теперь у меня есть следующие строки в моем .zshrc: alias gti=git. Постоянная автокоррекция ^^ (Да, я действительно слишком часто
Xerus
120

Краткий справочник:

$ dir
zsh: correct 'dir' to 'gdir' [nyae]?
  • n: n o - не исправить; беги dir, как ты печатал
  • y: y es - сделать правильно; беги gdir, как предложил Zsh
  • a: Борт - не запускать что - либо, и получить новую подсказку (ввести совершенно другую команду)
  • e: e dit - редактировать то, что вы ввели в интерактивном режиме - например, чтобы вы могли изменить dirнаudir
Рори О'Кейн
источник
17
Я основал этот ответ на объяснениях Людвига , но написал его в более коротком формате. Этот формат лучше подходит для тех, кто уже догадался, как работает коррекция Z-оболочки, и просто хочет знать, что делает каждый параметр.
Рори О'Кейн
38

Из введения в оболочку Z :

Если вы нажмете, yкогда оболочка спросит вас, хотите ли вы исправить слово, оно будет исправлено. Если вы нажмете n, он останется один. Нажатие aотменяет команду, а нажатие eвозвращает строку для редактирования снова, если вы согласны, что слово написано неправильно, но вам не нравится исправление.

Альнитак
источник