Roc*_*mat 12 zsh gentoo sudo line-editor
我在 Gentoo x64 上使用 zsh,当我sudo vim /path/to/file 从我的主文件夹输入时,zsh 询问:
zsh: correct 'vim' to '.vim' [nyae]?
Run Code Online (Sandbox Code Playgroud)
我想运行vim不是我的.vim文件夹。我该如何解决?
我的猜测是setopt autocd导致这种情况。奇怪的是,如果我不添加sudo,zsh 不会要求更正任何内容。
Kev*_*vin 15
好的,我明白了。问题不是autocd,是correctall。vim作为命令 ( 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]?
%
Run Code Online (Sandbox Code Playgroud)
*:或不应该,我有zsh的询问是否应该纠正command,以_command在出于某种原因一对夫妇的命令。也许是因为它检查别名并赋予它们更高的优先级。