Ahhhh !! ... Eu vejo que eu deveria usar 'unsetopt correct' ao invés de correct_all
collin@mandalay ~
% unsetopt correct
collin@mandalay ~
% lear
zsh: command not found: lear
Como você desabilita a autocorreção do zsh completamente?
Estou ciente da opção 'nocorrect', que se aplica apenas a determinados comandos. Mas eu quero isso totalmente para que quando eu digite 'lear' em vez de 'clear', isso não irá pedir uma correção.
Devo observar que 'unsetopt correctall' não parece fazer nada por mim
collin@mandalay ~
% unsetopt correctall
collin@mandalay ~
% lear
zsh: correct 'lear' to 'clear' [nyae]? n
zsh: command not found: lear
No seu .zshrc
#disable auto correct
unsetopt correct_all
A partir do manpage de zsh (zshoptions):
CORRECT (-0)
Try to correct the spelling of commands. Note that, when the HASH_LIST_ALL option is not set or when some directories in the path are not
readable, this may falsely report spelling errors the first time some commands are used.
CORRECT_ALL (-O)
Try to correct the spelling of all arguments in a line.
Portanto, a opção correta corrigirá SOMENTE os comandos e não os argumentos na linha.
A opção corect_all corrigirá comandos E todos os argumentos na linha.
Além disso, se você não pode modificar seu .zshrc ou .zhsenv (falo sobre o .zhsenv porque algumas respostas externas a este post falam sobre como modificar este arquivo, apesar de ver os comentários padrão nos arquivos, parece que .zshrc é o direito um):
você pode modificar seu arquivo .zshrc.user. Eu coloquei:
#Disable autocorrect
unsetopt correct_all
unsetopt correct
DISABLE_CORRECTION="true"
Isso é provavelmente redundante (a última linha)
Caso você esteja usando a configuração grml (e tenha de alguma forma esquecido): adicione a seguinte linha ao seu arquivo .zshrc.pre ou .zshrc.local:
NOCOR=1
O método normal é, como mencionado por outros, usar um unsetopt correct_all
e / ou unsetopt correct
- mas isso é sobrescrito pela configuração grml.
Tags zsh