Übrigens: Vielleicht möchten Sie einen Alias dirfür ls -l, dann wird zsh ihn nicht mehr automatisch korrigieren und Sie erhalten Ihre erwarteten Ergebnisse.
eckes
Antworten:
264
zshhat einen leistungsstarken Korrekturmechanismus. Wenn Sie einen Befehl falsch eingeben, werden Korrekturen vorgeschlagen. Was hier passiert ist, dirist ein unbekannter Befehl und zshschlägt vor gdir, während vielleicht lswar, was Sie wollten.
Wenn Sie einen gdirTreffer ausführen möchten y(ja)
Wenn Sie versuchen möchten, dirtrotzdem auszuführen, drücken Sie n(nein)
Wenn Sie einen völlig anderen buchstabierten Befehl wie lshit a(abort) ausführen möchten, geben Sie Ihren Befehl ein
Wenn Sie einen ähnlichen buchstabierten Kommanten wie udirhit e(edit) ausführen und Ihren Befehl bearbeiten möchten .
Ich wünschte, es gäbe eine zusätzliche Schlüsseloption, die die Nichtkorrektur einfacher macht, wie [nyaei] - i = für immer ignorieren!
Manafire
39
Ich bin hierher gekommen, weil ich dachte, das awürde "immer" bedeuten. Ich wünschte, es würde das bedeuten.
Rafael Eyng
Ich habe eigentlich auf das Gleiche wie @RafaelEyng gehofft, aber jetzt habe ich die folgende Zeile in meiner .zshrc : alias gti=git. Permanente Autokorrektur ^^ (Ja, ich habe Git viel zu oft falsch geschrieben, um es zu ertragen)
Xerus
119
Eine Kurzreferenz:
$ dir
zsh: correct 'dir' to 'gdir' [nyae]?
n: N o - nicht richtig; laufen dir, während Sie tippten
y: Y es - tun richtig; laufen gdir, wie Zsh vorgeschlagen hat
a: a bort - führe nichts aus und erhalte eine neue Eingabeaufforderung (um einen völlig anderen Befehl einzugeben)
e: E dit - bearbeiten , was Sie interaktiv eingegeben - zum Beispiel, so können Sie ändern dirzuudir
Ich habe diese Antwort auf Ludwigs Erklärung gestützt , sie aber in einem kürzeren Format geschrieben. Dieses Format eignet sich besser für diejenigen, die bereits erraten haben, wie Z-Shell-Korrekturen funktionieren, und lediglich wissen möchten, was jede Option bewirkt.
Wenn Sie drücken, ywenn die Shell Sie fragt, ob Sie ein Wort korrigieren möchten, wird es korrigiert. Wenn Sie drücken n, wird es in Ruhe gelassen. Durch Drücken von wird ader Befehl abgebrochen, und durch Drücken wird edie Zeile erneut bearbeitet, falls Sie damit einverstanden sind, dass das Wort falsch geschrieben ist, die Korrektur jedoch nicht gefällt.
dir
fürls -l
, dann wird zsh ihn nicht mehr automatisch korrigieren und Sie erhalten Ihre erwarteten Ergebnisse.Antworten:
zsh
hat einen leistungsstarken Korrekturmechanismus. Wenn Sie einen Befehl falsch eingeben, werden Korrekturen vorgeschlagen. Was hier passiert ist,dir
ist ein unbekannter Befehl undzsh
schlägt vorgdir
, während vielleichtls
war, was Sie wollten.gdir
Treffer ausführen möchteny
(ja)dir
trotzdem auszuführen, drücken Sien
(nein)ls
hita
(abort) ausführen möchten, geben Sie Ihren Befehl einudir
hite
(edit) ausführen und Ihren Befehl bearbeiten möchten .quelle
a
würde "immer" bedeuten. Ich wünschte, es würde das bedeuten.alias gti=git
. Permanente Autokorrektur ^^ (Ja, ich habe Git viel zu oft falsch geschrieben, um es zu ertragen)Eine Kurzreferenz:
n
: N o - nicht richtig; laufendir
, während Sie tippteny
: Y es - tun richtig; laufengdir
, wie Zsh vorgeschlagen hata
: a bort - führe nichts aus und erhalte eine neue Eingabeaufforderung (um einen völlig anderen Befehl einzugeben)e
: E dit - bearbeiten , was Sie interaktiv eingegeben - zum Beispiel, so können Sie änderndir
zuudir
quelle
Aus einer Einführung in die Z-Shell :
quelle