web-dev-qa-db-ja.com

zshはvimを.vimに修正したい

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

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

.vimフォルダーではなくvimを実行したい。これを修正するにはどうすればよいですか?

私の推測では、setopt autocdがこれを引き起こしていると思います。奇妙なことに、Sudoを追加しないと、zshは何も修正するように要求しません。

12
Rocket Hazmat

alias Sudo='nocorrect Sudo'を試してください。

8
helb

OK、これだ。問題はautocdではなく、correctallです。コマンドとしてのvimvim file)は修正をトリガーしません*が、Sudo vimvimは引数であり、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_commandに修正する必要があるかどうかをzshに尋ねました。おそらく、エイリアスをチェックして優先度を高くしているためです。

15
Kevin