私はzshが大好きで、そのスペル修正が役立つと思いますが、明らかに修正してはならないことを修正するのは面倒です。たとえば、私はちょうど実行しました
mv iso_ iso
そしてそれは答えた
zsh: correct 'iso' to 'iso_' [nyae]?
考えてみてください。 'iso'を 'iso_'に修正すると、実行しようとしていたことを意味します
mv iso_ iso_
これは決して意味がありません。したがって、これは実際にはzshの設計上の欠陥であり、全面的に修正する必要があります。しかし、(少なくとも私が使用しているバージョンでは)そうではなく、そうなる可能性が低いことを考えると、それを修正するための設定はありますか?私はそれを修正するための手ごわい方法を好むでしょう。たとえば、mv
のエイリアスはごちゃごちゃしています。
_correct_all
_オプションが気に入らない場合は、使用しないでください。
FWIW、デフォルトでは設定されていません。ネット上には人気のある構成があり(どちらかは言いません)、何らかの理由でそのオプションをすべての人に設定するのは楽しいアイデアだと考えています...それでも、多くのアプリケーションには意味がありません。 everyコマンドライン引数がファイル名のスペル修正の対象になります...それは非常識です。
長い話を短くするには:_setopt correct
_と[〜#〜] not [〜#〜] _setopt correctall
_のみ。
ファイル名のスペルについてサポートが必要な場合は、zshの補完システムが__approximate
_および__correct
_コンプリーターを支援します。詳細については、zshcompsys(1)
のマニュアルページを参照してください。
これを修正するための厄介な方法があります。 mv
、cp
、およびmkdir
の動作を修正するには、これを.zshrcファイルに追加します。
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'
これはいくつかの理由で理想的な修正ではありません。特に、mv
コマンドのスペル修正が必要な場合がありますdo。たとえば、実行しようとした場合:
mv directory_a/sub/sub/some_file directory_b/sub/sub/
しかし、ディレクトリの1つをスペルミスして、入力することになりました
mv directory_a/sub/sub/some_file directry_b/sub/sub/
スペル修正が役に立ったかもしれません。 (これは明らかに不自然な例ですが、要点はわかります。)