私はGentoo x64でzshを使用していますが、sudo vim /path/to/file
ホームフォルダに何かを入力するとzshは次のように尋ねます:
zsh: correct 'vim' to '.vim' [nyae]?
vim
私のフォルダではなく.vim
フォルダを実行したいです。どうすれば解決できますか?
私の考えでは、これがsetopt autocd
これにつながるようです。奇妙なことは、sudo
zshが追加しない限り何も修正しないことです。
答え1
はい、わかりました。問題ではautocd
ありませんがcorrectall
。vim
command( vim file
) は修正をトリガーしませんが、* vim
in は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'
。