tente alias sudo='nocorrect sudo'
.
Estou usando o zsh no Gentoo x64 e, quando digito sudo vim /path/to/file
da minha pasta pessoal, o zsh pergunta:
zsh: correct 'vim' to '.vim' [nyae]?
Eu quero executar vim
não minha pasta .vim
. Como faço para corrigir isso?
Meu palpite é que setopt autocd
está causando isso. O mais estranho é que, se eu não adicionar sudo
, o zsh não pede para corrigir nada.
OK, eu entendi isso. O problema não é autocd
, é correctall
. vim
como um comando ( vim file
) não ativa nenhuma correção *, mas vim
em sudo vim
é um argumento, zsh
vê que está próximo do nome de uma pasta no diretório atual e pergunta se você quer mudar para isso, como arquivos e pastas são argumentos mais comuns. Portanto, a solução é unsetopt correctall
(ou setopt nocorrectall
). Como ilustração; note que tenho uma pasta .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]?
%
*: Ou não deveria, eu perguntei se deveria corrigir command
to _command
em alguns comandos por algum motivo. Talvez porque ele verifique os aliases e conceda maior prioridade a eles.
Tags sudo zsh gentoo line-editor