zsh chce poprawić vima do .vim

12

Używam zsh na Gentoo x64, a kiedy piszę sudo vim /path/to/file z mojego folderu domowego, zsh pyta:

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

Chcę uruchomić vimnie mój .vimfolder. Jak to naprawić?

Domyślam się, że setopt autocdto powoduje. Dziwne jest to, że jeśli nie dodam sudo, zsh nie prosi o nic do poprawienia.

Rakieta Hazmat
źródło

Odpowiedzi:

8

spróbuj alias sudo='nocorrect sudo'.

helb
źródło
2
nocorrectco? Czy to po prostu ignoruje poprawki do tego polecenia? Będę musiał to przetestować później.
Rocket Hazmat
15

OK, rozumiem Problem nie polega na autocdtym correctall. vimjako polecenie ( vim file) nie powoduje żadnej korekcji *, ale vimw sudo vimto argument, zshwidzi, że jest blisko do nazwy folderu w bieżącym katalogu i zapyta, czy chcesz, aby zmienić to, jak pliki i foldery są bardziej wspólne argumenty. Tak więc rozwiązaniem jest unsetopt correctall(lub setopt nocorrectall). Jako ilustracja; uwaga Mam .zshfolder:

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

*: Albo nie powinno miałem zsh zapytać, czy należy skorygować command, aby _commandna ciągu kilku komend z jakiegoś powodu. Być może dlatego, że sprawdza aliasy i nadaje im wyższy priorytet.

Kevin
źródło
Ach, to ma sens. Jakbym jakby correctalldalej, bo nie mogę wpisać, a ja lubię, jak będzie to skorygować ksdo ls. Zastanawiam się, czy istnieje sposób, aby zmienić sposób, w jaki Zsh sprawdza „poprawki”.
Rocket Hazmat