Làm cách nào để lấy tên khóa được mã hóa cho sơ đồ bàn phím trong vimrc?


10

Trong Emacs, tôi có thể nhấn Ctrl-h, k, để mô tả một chìa khóa. Tôi có thể lấy tên khóa ngay cả khi không xác định, ví dụ:

C-x <C-M-end> is undefined

Vì vậy, tôi đã biết tên chính là C-x <C-M-end>.

Nhưng làm thế nào bạn có thể có được tên chính cho Vim?

Tôi muốn thiết lập một sơ đồ bàn phím cho Ctrl-Shift-VShift-Insert, nhưng tôi phải sử dụng mã nào?

Có thể có được tên chính trên bay?

Câu trả lời:


2

Gần nhất tôi có thể tìm thấy describe-key( Ctrl+ H, K) là :maplệnh. Nó sẽ liệt kê tất cả các ánh xạ.

Bạn cũng có thể chạy :map <key name>, nhưng bạn phải xác định <key>bằng cách sử dụng cú pháp đặc biệt được liệt kê trong
ký hiệu khóa .

Hoặc bạn có thể thử :mapCtrl+ V<key>, điều này sẽ cho phép bạn chỉ cần nhấn phím thay vì cần sử dụng cú pháp đặc biệt.

Vì vậy, để liên kết Ctrl+ Shift+ V, hãy thử điều này:

:map <C-S-v> whatever

hoặc là

:mapCtrl+ V Ctrl+ Shift+V whatever

Nhưng hãy chắc chắn rằng chương trình thiết bị đầu cuối của bạn chưa sử dụng điều này cho một cái gì đó đặc biệt như dán, nếu không Vim sẽ không bao giờ thấy phím bấm.

Đồng thời xem các phím bản đồ , giúp giải thích liệu Altkhóa của bạn nên được viết là <M-x>hay <A-x>.


Đó là Ctrl-h, k, không phải Ctrl-X, k có nghĩa là giết bộ đệm.
Xiè Jìléi

Xin lỗi, đã sửa nó.
Mikel

Tôi không chắc chắn nếu Mhoặc Asẽ được ánh xạ tới Alt. Nhưng <M-h>, <M-l>đừng làm việc. Tôi không biết tên khóa không hợp lệ hay các sự kiện quan trọng chưa được gửi đến Vim. Không có nhật ký, không có đầu mối.
Xiè Jìléi

Có, Altrất khó, vì hầu hết các thiết bị đầu cuối gửi ESCsau đó xkhi Alt+xđược nhấn và làm thế nào Vim biết bạn đã không nhấn ESCsau đó x. Về cơ bản Altchỉ hoạt động trong Gvim.
Mikel

5

Để tìm hiểu kết quả của một khóa hoặc tổ hợp phím trong Vim, tôi thường mở một bộ đệm trống bằng " :enew", nhập chế độ chèn, nhấn control-v, sau đó chọn tổ hợp phím hoặc phím tôi muốn xác định. Thủ thuật control-v này cũng có thể hoạt động trên dòng: -command, do đó, việc xác định ánh xạ để thử nghiệm là khá dễ dàng. Ví dụ: " :map " control-vvà tổ hợp phím " :echo 'it works'".


0

Chỉ cần gõ Ctrl+ Vkhi đang di chuyển và các phím bạn muốn nhấn. Nếu bạn không tìm thấy kết quả mong đợi (như ví dụ <c-space>, <c-cr>, <M-i>, ...) nó chỉ có nghĩa là bạn đang sử dụng vim và không gvim. Cách vim hiểu các phím được gõ được gắn với cấu hình của (các) thiết bị đầu cuối của bạn. gvim sử dụng định nghĩa riêng của nó, do đó không có gì để cấu hình.

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.