
저는 Gentoo x64에서 zsh를 사용하고 있는데, sudo vim /path/to/file
홈 폴더에서 뭔가를 입력하면 zsh가 다음을 묻습니다:
zsh: correct 'vim' to '.vim' [nyae]?
vim
내 폴더가 아닌 .vim
폴더를 실행하고 싶습니다 . 어떻게 해결할 수 있나요?
내 생각엔 이것이 setopt autocd
이것으로 이어지는 것 같다. 이상한 점은 sudo
zsh가 추가하지 않으면 아무것도 수정하지 않는다는 것입니다.
답변1
그래 알았어. 문제는 autocd
아니지만 correctall
. vim
command( vim file
)는 수정 사항을 트리거하지 않지만* vim
in은 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]?
%
*: 아니면 그렇게 하면 안 됩니다. 어떤 이유로든 command
여러 명령을 수정해야 하는지 zsh에게 물어본 적이 있습니다 . _command
아마도 별칭을 확인하고 더 높은 우선 순위를 부여하기 때문일 수 있습니다.
답변2
노력하다 alias sudo='nocorrect sudo'
.