zsh möchte vim zu .vim korrigieren

12

Ich verwende zsh auf Gentoo x64 und wenn ich sudo vim /path/to/file aus meinem Home-Ordner tippe, fragt zsh:

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

Ich möchte vimmeinen .vimOrdner nicht ausführen . Wie behebe ich das?

Ich vermute, setopt autocddass dies die Ursache ist . Seltsam ist, wenn ich nicht hinzufüge sudo, dass zsh nicht darum bittet, irgendetwas zu korrigieren.

Rocket Hazmat
quelle

Antworten:

8

versuchen Sie es alias sudo='nocorrect sudo'.

helb
quelle
2
nocorrectwie? Ignoriert das nur die Korrekturen für diesen Befehl? Ich muss das später testen.
Rocket Hazmat
15

OK, ich habe das verstanden. Das Problem ist nicht autocd, es ist correctall. vimas a command ( vim file) löst keine Korrektur aus *, aber vimin sudo vimist ein Argument, das zshfeststellt, dass es nahe am Namen eines Ordners im aktuellen Verzeichnis liegt, und fragt, ob Sie dies ändern möchten, da Dateien und Ordner mehr sind gemeinsame Argumente. Die Lösung ist also unsetopt correctall(oder setopt nocorrectall). Als Illustration; note Ich habe einen .zshOrdner:

% 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]? 
%

*: Oder soll nicht, ich habe zsh zu fragen , ob es richtig ist , commandum _commandauf ein paar Befehle aus irgendeinem Grunde. Vielleicht, weil es Aliase überprüft und ihnen eine höhere Priorität gibt.

Kevin
quelle
Ah, das macht Sinn. Ich irgendwie wie mit correctallauf, weil ich nicht geben kann, und ich mag , wie es korrigieren würde kszu ls. Ich frage mich, ob es eine Möglichkeit gibt, zu ändern, wie zsh nach "Korrekturen" sucht.
Rocket Hazmat