zsh는 vim을 .vim으로 수정하려고합니다. 사용 sudo vim /path/to/file 하고

젠투 x64에서 zsh를 사용 sudo vim /path/to/file 하고 있고 홈 폴더에서 입력 하면 zsh가 묻습니다.

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

vim.vim폴더 가 아닌 상태 로 실행하고 싶습니다 . 이 문제를 어떻게 해결합니까?

내 생각 엔 setopt autocd이것이 원인입니다. 이상한 점은 내가 추가 sudo하지 않으면 zsh는 아무것도 수정하지 않아도됩니다.



답변

시도하십시오 alias sudo='nocorrect sudo'.


답변

알았어 문제는 아니다 autocd, 그것은이다 correctall. vim명령은 (같은 vim file) 어떤 보정 *을 유발하지 않지만, vimsudo 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어떤 이유로 몇 명령에. 별칭을 확인하고 우선 순위를 높이기 때문일 수 있습니다.


답변