OK, tôi hiểu rồi Vấn đề không phải là autocd
nó correctall
. vim
vì một lệnh ( vim file
) không kích hoạt bất kỳ hiệu chỉnh nào *, nhưng vim
trong sudo vim
một đối số, zsh
thấ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 .zsh
thư 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 command
thành _command
mộ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.