zsh quer corrigir o vim para .vim

12

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.

    
por Rocket Hazmat 17.03.2012 / 17:05

2 respostas

8

tente alias sudo='nocorrect sudo' .

    
por 15.10.2012 / 15:29
16

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.

    
por 17.03.2012 / 17:44