La fonction d'autocorrection de zsh est très utile pour moi, mais ne donne pas toujours un résultat correct.
~$ Sudo vim somefile
zsh: correct 'vim' to '.vim' [nyae]?
Pourtant, ce que je veux, c’est quelque chose comme l’option a jamais qui peut l’arrêter pour corriger des commandes comme celles-ci pour toujours.
Comment puis-je faire ceci?
Vous pouvez informer zsh qu'il ne doit pas corriger automatiquement des commandes spécifiques en les aliasant avec le préfixe 'nocorrect' dans votre .zshrc (exemple ici: http://dzen.geekmode.org/wiki/wiki.cgi/- main/ZshConfiguration ):
alias vim='nocorrect vim'
Alternativement, si ce processus de liste blanche devient trop frustrant, vous pouvez désactiver complètement la correction automatique avec les éléments suivants dans votre .zshrc.
Pour les nouvelles versions de zsh, utilisez:
unsetopt correct
pour les anciennes versions de zsh, utilisez:
unsetopt correct-all
Amendé pour ajouter: voici une discussion précédente sur ce sujet - Exceptions to zsh correctall feature?
Je pense avoir trouvé une meilleure réponse à cette question.
Je ne suis pas sûr des versions et de quoi, mais il semble que correct_all
soit supposé corriger les commandes et arguments, tandis que correct
ne corrige que les commandes, éliminant ainsi ce comportement ennuyeux.
C'est ce que j'ai dans mes fichiers de configuration
unsetopt correct_all
setopt correct
J'ai eu le problème en utilisant rspec
via zeus
, et j'aimerais conserver les paramètres de correction automatique, car ils semblent fonctionner pour tout le reste saufrspec
, je n'ai donc jamais essayé aucune des suggestions ci-dessus.
Ce que je devais faire était nocorrect
zeus lui-même:
alias zeus = 'nocorrect zeus'