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.

Réponses:


8

essayez alias sudo='nocorrect sudo'.


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.