liên kết chuỗi khóa với Escape, zsh


11

Làm thế nào tôi có thể ánh xạ jjđến Esctrong zsh?

Tôi đang cố gắng tạo lại ánh xạ khóa mà tôi đã thiết lập trong vim, nơi tôi đã jjánh xạ tới ESCđể bất cứ khi nào tôi nhấn đúp j, nó sẽ gửi một <Esc>vim - cho phép tôi vào chế độ bình thường với sự thuận tiện hơn.

Tôi đã thử bindkey 'jj' ^[, và tôi sẽ thử bindkey 'jj' ^[[, nhưng tôi nghi ngờ rằng nó sẽ hoạt động. Tôi cũng đã kiểm tra danh sách các lệnh được cung cấp bởi zsh ở chế độ bình thường, nhưng tôi không thấy bất cứ thứ gì có chứa normalhoặc escape.

LƯU Ý
Các ^[ký tự trong ~/.zshrctệp của tôi là các mã thoát cứng được mã hóa thực tế; không chỉ các nhân vật ^[.

Câu trả lời:


12

Bạn cần -sliên kết các chuỗi thực tế thay vì các widget:

bindkey -s jj '\e'

Mặc dù bạn có thể muốn ánh xạ jjtới vi-cmd-modewidget ở đây:

bindkey jj vi-cmd-mode

(lưu ý rằng để liên kết trong chế độ chèn, không phải chế độ lệnh / bình thường)


1
cái thứ hai hoạt động như một lá bùa, cảm ơn!
Alexej Magura

2
Cài đặt LƯU ÝKEYTIMEOUT dường như phá vỡ liên kết khóa.
Alexej Magura 27/12/13

@AlexejMagura chỉ cần thêm: cài đặt KEYTIMEOUT quá thấp cấm zle nhận ra báo chí kép.
UltraMaster
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.