Що означає [nyae] в Zsh?


195

Наступну команду я запускаю невдало

dir

і я отримую

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

Що означає [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
Хочеться, щоб з'явився додатковий ключовий варіант, який полегшив неправильну помилку, як-от [nyaei] - i = ігнорувати назавжди!
manafire

39
Я прийшов сюди, бо думав, що aце означатиме «завжди». Я хочу, щоб це означало.
Рафаель Ейн

Я на насправді сподівався на те ж саме , як @RafaelEyng, але тепер у мене є такі рядки в моєму .zshrc: alias gti=git. Постійна автокорекція ^^ (Так, я справді неправильно написав git занадто часто, щоб це перенести)
Xerus

120

Короткий довідник:

$ dir
zsh: correct 'dir' to 'gdir' [nyae]?
  • n: n o - не виправляти; запустити dir, як ви ввели
  • y: y es - робити правильно; біжи gdir, як запропонував Зш
  • a: Борт - не запускати що - або, і отримати нову підказку (ввести абсолютно іншу команду)
  • e: Е ДІТ - редагування , що ви ввели в інтерактивному режимі - наприклад, так що ви можете змінити dirвudir

17
Цю відповідь я грунтував на поясненні Людвіга , але написав її у скороченому форматі. Цей формат краще підходить для тих, хто вже здогадався, як працюють корективи Z-оболонки, і просто хоче знати, що робить кожен варіант.
Rory O'Kane

38

З вступу в оболонку Z :

Якщо ви натиснете, yколи оболонка запитає, чи хочете виправити слово, воно буде виправлено. Якщо натиснути n, це залишиться в спокої. Натискання aскасовує команду та натискання знову eвводить рядок для редагування, якщо ви погоджуєтесь, що слово написано неправильно, але ви не любите виправлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.