zshはvimを.vimに変更しようとします。

zshはvimを.vimに変更しようとします。

私はGentoo x64でzshを使用していますが、sudo vim /path/to/file ホームフォルダに何かを入力するとzshは次のように尋ねます:

zsh: correct 'vim' to '.vim' [nyae]?

vim私のフォルダではなく.vimフォルダを実行したいです。どうすれば解決できますか?

私の考えでは、これがsetopt autocdこれにつながるようです。奇妙なことは、sudozshが追加しない限り何も修正しないことです。

答え1

はい、わかりました。問題ではautocdありませんがcorrectallvimcommand( vim file) は修正をトリガーしませんが、* vimin はsudo vim引数なので、zsh現在のディレクトリのフォルダ名に近いことを確認し、ファイルとフォルダにさらに引数があるので、その名前に変更するかどうかを尋ねます。共通点。だから解決策はunsetopt correctall(またはsetopt nocorrectall)です。示されているように.zshフォルダがあります。

% unsetopt correctall
% setopt autocd correct 
% vim zsh
% sudo vim zsh
% setopt correctall
% vim zsh
zsh: correct 'zsh' to '.zsh' [nyae]? 
% sudo vim zsh
zsh: correct 'zsh' to '.zsh' [nyae]? 
zsh: correct 'vim' to '.vim' [nyae]? 
%

*: またはそうしないでください。何らかの理由で複数のcommandコマンドを変更する必要があるかどうかzshに尋ねたことがあります。_commandおそらくエイリアスをチェックし、より高い優先順位を与えるためです。

答え2

努力するalias sudo='nocorrect sudo'

関連情報