zsh хочет исправить vim на .vim

zsh хочет исправить vim на .vim

Я использую zsh на Gentoo x64, и когда я печатаю sudo vim /path/to/file из своей домашней папки, zsh спрашивает:

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

Я хочу запустить vimне свою .vimпапку. Как это исправить?

Я думаю, что это setopt autocdи вызывает это. Странно, что если я не добавляю sudo, zsh не просит ничего исправить.

решение1

Хорошо, я понял. Проблема не в autocd, а в correctall. vimкак команда ( vim file) не вызывает никаких исправлений*, но vimявляется sudo vimаргументом, zshвидит, что он близок к имени папки в текущем каталоге, и спрашивает, хотите ли вы изменить его, так как файлы и папки являются более распространенными аргументами. Так что решение — unsetopt correctall(или setopt nocorrectall). В качестве иллюстрации; обратите внимание, у меня есть .zshпапка:

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

*: Или не должен, у меня zsh спрашивал, следует ли исправить commandна _commandпару команд по какой-то причине. Возможно, потому что он проверяет псевдонимы и дает им более высокий приоритет.

решение2

пытаться alias sudo='nocorrect sudo'.

Связанный контент