%20M%C3%B6glichkeit%2C%20Rechtschreibkorrekturen%20bei%20Verwendung%20des%20Befehls%20%E2%80%9Emv%E2%80%9C%20von%20zsh%20zu%20vermeiden%3F.png)
Obwohl ich zsh liebe und die Rechtschreibkorrektur nützlich finde, ist es ärgerlich, dass es Dinge korrigiert, dieoffensichtlichsollte nicht korrigiert werden. Ich habe zum Beispiel gerade ausgeführt
mv iso_ iso
und es antwortete
zsh: correct 'iso' to 'iso_' [nyae]?
Denken Sie darüber nach. Die Korrektur von 'iso' in 'iso_' würde bedeuten, dass ich versuche,
mv iso_ iso_
was NIEMALS Sinn ergeben würde. Daher ist dies wirklich ein Konstruktionsfehler in zsh und sollte allgemein korrigiert werden. Aber da dies nicht geschehen ist (zumindest in der Version, die ich verwende) und es wahrscheinlich auch nicht geschehen wird, gibt es eine Einstellung, um dies zu korrigieren? Ich würde eine unkomplizierte Methode zur Behebung bevorzugen. Aliase für mv
sind beispielsweise kompliziert.
Antwort1
Es gibt eine Möglichkeit, dies zu beheben. Um das Verhalten von mv
, cp
, und zu korrigieren mkdir
, fügen Sie Folgendes zu Ihrer .zshrc-Datei hinzu:
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'
Dies ist aus mehreren Gründen keine ideale Lösung. Nicht zuletzt, weil es Situationen geben kann, in denen SieTunSie möchten die Rechtschreibkorrektur für einen mv
Befehl. Wenn Sie beispielsweise Folgendes ausführen möchten:
mv directory_a/sub/sub/some_file directory_b/sub/sub/
aber Sie haben eines der Verzeichnisse falsch geschrieben und am Ende
mv directory_a/sub/sub/some_file directry_b/sub/sub/
eine Rechtschreibkorrektur wäre vielleicht hilfreich gewesen. (Das ist offensichtlich ein konstruiertes Beispiel, aber Sie verstehen, was ich meine.)
Antwort2
correct_all
Wenn Ihnen die Funktion nicht gefällt, verwenden Sie diese Option nicht .
FWIW, es ist NICHT standardmäßig eingestellt. Es gibt eine beliebte Konfiguration im Netz (ich werde nicht sagen, welche), die aus irgendeinem Grund denkt, dass es eine lustige Idee ist, diese Option für alle einzustellen... aber für viele, VIELE Anwendungen macht es keinen Sinn. Es machtjedenBefehlszeilenargument unterliegt der Rechtschreibkorrektur des Dateinamens … Das ist verrückt.
Um es kurz zu machen: Nur setopt correct
undNICHT setopt correctall
.
Wenn Sie Hilfe bei der Schreibweise von Dateinamen benötigen, kann Ihnen das Vervollständigungssystem von zsh mit seinen _approximate
und _correct
Vervollständigern helfen. Details finden Sie auf der zshcompsys(1)
Manualpage.