214
votes

I run the following command unsuccessfully

dir

and I get

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

What does [nyae] mean in Zsh?

3
BTW: you might want to alias dir to ls -l, then zsh wont auto correct it anymore and you get your expected results.eckes

3 Answers

287
votes

zsh has a powerful correction mechanism. If you type a command in the wrong way it suggests corrections. What happend here is that dir is an unknown command and zsh suggests gdir, while maybe ls was what you wanted.

  1. If you want to execute gdir hit y (yes)
  2. If you want to try to execute dir anyway hit n (no)
  3. If you want to execute completely different spelt command like ls hit a (abort) and type your command
  4. If you want to execute a similar spelt commant like udir hit e (edit) and edit your command.
131
votes

A quick reference:

$ dir
zsh: correct 'dir' to 'gdir' [nyae]?
  • n: no – don’t correct; run dir, as you typed
  • y: yes – do correct; run gdir, as Zsh suggested
  • a: abort – don’t run anything, and get a new prompt (to type a completely different command)
  • e: edit – edit what you typed interactively – for instance, so you can change dir to udir
40
votes

From An Introduction to the Z Shell:

If you press y when the shell asks you if you want to correct a word, it will be corrected. If you press n, it will be left alone. Pressing a aborts the command, and pressing e brings the line up for editing again, in case you agree the word is spelled wrong but you don’t like the correction.