zsh は vim を .vim に修正しようとします

zsh は vim を .vim に修正しようとします

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

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

vim自分のフォルダーを実行したくないのですが.vim、どうすれば修正できますか?

これが原因だと推測しますsetopt autocd。奇妙なことに、 を追加しないとsudo、zsh は何も修正するように求めません。

答え1

分かりました。問題は ではなくautocdですcorrectallvimコマンド ( vim file) では修正は行われませんが、vimでは が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]? 
%

*: あるいは、何らかの理由で、zsh がいくつかのコマンドcommandを修正するかどうかを尋ねてきたことがあります_command。おそらく、エイリアスをチェックして、それらに高い優先順位を与えているからでしょう。

答え2

試すalias sudo='nocorrect sudo'

関連情報