O zsh deseja corrigir o vim para .vim

12

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

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

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

Foguete Hazmat
fonte

Respostas:

8

tente alias sudo='nocorrect sudo'.

helb
fonte
2
nocorrect, eh? Isso simplesmente ignora as correções desse comando? Vou ter que testar isso mais tarde.
Rocket Hazmat
15

OK, entendi. O problema não é autocd, é correctall. vimcomo um comando ( vim file) não provoca qualquer correção *, mas vimem sudo vimum argumento, zshvê que é perto o nome de uma pasta no diretório atual, e pergunta se você quer mudar para que, como arquivos e pastas são mais argumentos comuns. Então a solução é unsetopt correctall(ou setopt nocorrectall). Como ilustração; note 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, eu tive zsh perguntar se deve corrigir commanda _commandem um comandos casal por algum motivo. Talvez porque verifique aliases e dê a eles maior prioridade.

Kevin
fonte
Ah, isso faz sentido. Eu meio que como ter correctallem diante, porque eu não posso escrever, e eu gosto de como ele vai corrigir ksa ls. Gostaria de saber se existe uma maneira de mudar a maneira como o zsh verifica "correções".
Foguete Hazmat