zsh deseja corrigir o vim para .vim

zsh deseja corrigir o vim para .vim

Estou usando o zsh no Gentoo x64 e quando digito sudo vim /path/to/file na minha pasta pessoal, o zsh pergunta:

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

Eu não quero executar vimminha .vimpasta. Como faço para corrigir isso?

Meu palpite é que isso setopt autocdestá causando isso. O estranho é que, se eu não adicionar sudo, o zsh não pede para corrigir nada.

Responder1

OK, eu entendi. O problema não é autocd, é correctall. vimcomo um comando ( vim file) não aciona nenhuma correção*, mas vimin sudo vimé um argumento, zshvê que está próximo ao nome de uma pasta no diretório atual e pergunta se você deseja mudar para isso, pois arquivos e pastas são mais argumentos comuns. Então a solução é unsetopt correctall(ou setopt nocorrectall). Como ilustração; observe que tenho uma .zshpasta:

% 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]? 
%

*: Ou não deveria, o zsh perguntou se deveria corrigir commandalguns _commandcomandos por algum motivo. Talvez porque verifique os aliases e lhes dê maior prioridade.

Responder2

tentar alias sudo='nocorrect sudo'.

informação relacionada