zsh muốn sửa vim thành .vim


12

Tôi đang sử dụng zsh trên Gentoo x64 và khi tôi gõ sudo vim /path/to/file từ thư mục nhà của mình, zsh hỏi:

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

Tôi muốn chạy vimkhông phải .vimthư mục của tôi . Làm thế nào để tôi sửa lỗi này?

Tôi đoán setopt autocdlà gây ra điều này. Điều kỳ lạ là, nếu tôi không thêm sudo, zsh không yêu cầu sửa bất cứ điều gì.

Câu trả lời:


8

thử alias sudo='nocorrect sudo'.


2
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.
Tên lửa Hazmat

15

OK, tôi hiểu rồi Vấn đề không phải là autocdcorrectall. 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.


Ah, điều đó có ý nghĩa. Tôi kinda giống như có correctalltrên, vì tôi không thể gõ, và tôi như thế nào nó sẽ sửa ksđể ls. Tự hỏi nếu có một cách để thay đổi cách zsh kiểm tra "chỉnh sửa".
Tên lửa Hazmat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.