zsh 想要将 vim 更正为 .vim

zsh 想要将 vim 更正为 .vim

我在 Gentoo x64 上使用 zsh,当我sudo vim /path/to/file 从主文件夹中输入内容时,zsh 会询问:

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

我想运行vim不是我的.vim文件夹。我该如何解决?

我的猜测是这setopt autocd导致了这一点。奇怪的是,如果我不添加sudo,zsh 不会要求更正任何内容。

答案1

好的,我明白了。问题不是autocd,而是correctallvim因为命令 ( vim file) 不会触发任何更正*,但viminsudo 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'

相关内容