
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 vim
minha .vim
pasta. Como faço para corrigir isso?
Meu palpite é que isso setopt autocd
está 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
. vim
como um comando ( vim file
) não aciona nenhuma correção*, mas vim
in sudo vim
é um argumento, zsh
vê 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 .zsh
pasta:
% 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 command
alguns _command
comandos por algum motivo. Talvez porque verifique os aliases e lhes dê maior prioridade.
Responder2
tentar alias sudo='nocorrect sudo'
.