Não é possível fazer com que o Zsh não sugira uma correção para um alias

2

Eu tenho um alias para

alias tdA='todo -a'

Eu recebo o seguinte em Zsh

tdA          
zsh: correct 'tdA' to 'tda' [nyae]? 

Como você pode fazer com que o Zsh não sugira uma correção para um alias?

    
por Léo Léopold Hertz 준영 07.06.2009 / 17:05

2 respostas

4

tente

% unsetopt correct

Eu tenho a correção ortográfica desativada por padrão.

Se funcionar, adicione-o ao seu arquivo .zshrc .

    
por 07.06.2009 / 17:23
7

Estou usando o zsh há 18 anos e devo dizer que não gosto da solução aceita. Aqui está o porquê:

Você precisa descobrir a origem do problema - determinar por que o 'tda' está sendo oferecido como uma opção de correção. O que você fez foi corrigir completamente a correção ortográfica globalmente. Isso lhe nega algumas funcionalidades muito legais ao tentar se livrar de um problema tático. É como querer matar uma mosca em sua casa, desencadeando alguma dinamite só porque você é muito preguiçoso para descobrir onde está o mata-moscas: ele pode se livrar do problema, mas você sacrifica muito em troca. :)

Até que você possa determinar a configuração de correção de feitiço atual do seu zsh, você deve considerar configurar o valor da variável de shell especial $ CORRECT_IGNORE para um valor de 'tda'.

Aqui está a entrada na página do manual do zsh:

   CORRECT_IGNORE
          If set, is treated as a pattern during spelling correction.  Any
          potential  correction  that matches the pattern is ignored.  For
          example, if the value is '_*' then completion functions  (which,
          by  convention,  have  names  beginning  with '_') will never be
          offered as spelling corrections.  The pattern does not apply the
          correction  of  file names, as applied by the CORRECT_ALL option
          (so with the example just given files beginning with '_' in  the
          current directory would still be completed).

Isso deve ajudá-lo até que você possa determinar a origem de onde 'tda' está realmente vindo.

Observe também que você pode usar o modificador precommand 'nocorrect' para desabilitar a correção ortográfica por comando. Você poderia usar isso para fazer algo um pouco hacky, mas eficaz:

alias tdA="nocorrect tda"
alias tda="todo -a"

aliases são apenas tokens substituídos na linha de comando por zsh, e essas substituições são verificadas novamente para aliases adicionais. Então, o acima deve funcionar.

Espero que essas alternativas lhe proporcionem uma abordagem mais seletiva para solucionar seu problema, enquanto ainda oferece os benefícios dos recursos avançados de correção ortográfica do zsh.

Boa sorte!

    
por 14.09.2011 / 03:59

Tags