zsh veut corriger vim en .vim

12

J'utilise zsh sur Gentoo x64, et quand je tape sudo vim /path/to/file depuis mon dossier personnel, zsh demande:

zsh: correct 'vim' to '.vim' [nyae]?

Je veux exécuter vimpas mon .vimdossier. Comment puis-je réparer ça?

Je suppose que cela setopt autocdest à l'origine de cela. Chose étrange, si je n'ajoute rien sudo, zsh ne demande rien à corriger.

Rocket Hazmat
la source

Réponses:

8

essayez alias sudo='nocorrect sudo'.

helb
la source
2
nocorrecthein? Est-ce que cela ignore simplement les corrections pour cette commande? Je devrai tester cela plus tard.
Rocket Hazmat
15

OK, j'ai compris. Le problème n'est pas autocd, c'est correctall. vimcomme une commande ( vim file) ne déclenche aucune correction *, mais vimdans sudo vimest un argument, zshvoit qu'il est proche du nom d'un dossier dans le répertoire courant, et vous demande si vous voulez y changer, car les fichiers et les dossiers sont plus arguments communs. La solution est donc unsetopt correctall(ou setopt nocorrectall). Comme illustration; note que j'ai un .zshdossier:

% 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 devrais pas, je l' ai eu zsh demander si elle doit corriger commandà _commandsur une commande de couple pour une raison quelconque. Peut-être parce qu'il vérifie les alias et leur donne une priorité plus élevée.

Kevin
la source
Ah, ça a du sens. J'ai un peu comme avoir correctall, parce que je ne peux pas taper, et je aime la façon dont il va corriger ksà ls. Je me demande s'il existe un moyen de changer la façon dont zsh vérifie les «corrections».
Rocket Hazmat