Làm thế nào để chuyển đổi thoải mái sang chế độ lệnh vi trên dòng lệnh zsh?


22

Trong vi, tôi đã ánh xạ 'jj' để thoát để có thể chuyển sang chế độ lệnh mà không cần sử dụng phím thoát khó chịu. Bây giờ tôi muốn có cùng một chỉnh sửa dòng lệnh mà tôi sử dụng chế độ vi. Tôi đã tìm thấy giải pháp sau đây:

bindkey '^j' vi-cmd-mode

cho phép bạn thay đổi với control-j thành chế độ lệnh. Vẫn đang tìm kiếm một giải pháp mà không cần các phím bổ trợ là 'jj' hoặc một cái gì đó tương tự.


4
Tại sao không chỉ ánh xạ lại Caps Lock để thoát?
kyrias

Câu trả lời:


30

Lưu ý: Bạn nên xem xét man zshzlerất nhiều điều tốt đẹp về việc tùy chỉnh bindkeyvà mô phỏng GNU readline.

Đây là cách tôi ánh xạ jjtới Esc:

bindkey -M viins 'jj' vi-cmd-mode

Nếu bạn quan tâm đến việc phân biệt giữa chế độ chèn và chế độ bình thường, bạn có thể thử đề xuất akira đề cập ở đây


vâng hoạt động hoàn hảo. cảm ơn nhiều!
Eman Resu

Có bất kỳ điều kiện tiên quyết cần phải được thực hiện trước khi điều này hoạt động trong zsh? Hoặc cách để gỡ lỗi các ràng buộc quan trọng? Sau khi chèn lệnh này, không có gì xảy ra. jj vẫn không hoạt động.
UltraMaster

5
Tôi đã đặt KEYTIMEOUT quá thấp, đó là lý do.
UltraMaster

@Ultramaster làm cho một điểm tuyệt vời. Nếu bạn đã đặt TỪ KHÓA cho tốc độ, tôi khuyên bạn nên> = 20 mili giây. Chẳng hạn nhưexport KEYTIMEOUT=20
craft
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.