OK, tôi hiểu rồi Vấn đề không phải là autocdnó correctall. vimvì một lệnh ( vim file) không kích hoạt bất kỳ hiệu chỉnh nào *, nhưng vimtrong sudo vimmột đối số, zshthấy rằng nó gần với tên của một thư mục trong thư mục hiện tại và hỏi bạn có muốn thay đổi điều đó không, vì các tệp và thư mục có nhiều hơn lập luận chung. Vì vậy, giải pháp là unsetopt correctall(hoặc setopt nocorrectall). Như minh họa; lưu ý tôi có một .zshthư mục:
% 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]?
%
*: Hoặc không nên, tôi đã có zsh hỏi nếu nó nên sửa commandthành _commandmột vài lệnh vì một số lý do. Có lẽ bởi vì nó kiểm tra bí danh và ưu tiên cao hơn.
nocorrect, Hở? Có phải đó chỉ bỏ qua sửa chữa cho lệnh đó? Tôi sẽ phải kiểm tra điều này sau.