Ánh xạ Ctrl với dấu bằng


10

Tôi đang cố gắng ánh xạ Ctrl và dấu cộng của mình. Đây là những gì tôi đang cố gắng trong vimrc của mình:

nnoremap <C-=>    : echo "Hello" <CR> 

Tuy nhiên, có vẻ như ánh xạ không được kích hoạt. Bất kỳ đề nghị về những gì tôi có thể làm sai? Tôi đang sử dụng macvim.



1
Có vẻ như loại câu hỏi này đang trở nên thường xuyên hơn: VIM làm thế nào để ánh xạ khóa kết hợp: ctrl + shift + w +,
mMontu

@mMontu Vâng, đó là một câu hỏi khá phổ biến. Tôi tự hỏi nếu nó là một ý tưởng tốt để viết một bài viết kinh điển về đại diện nội bộ của các nhân vật, mã, và những gì vim có thể / không thể ánh xạ.
James

Câu trả lời:


17

Thật không may, không có cách lập bản đồ đáng tin cậy Ctrl-=.

Do cách ctrl+keycác hợp âm tương tác với thiết bị đầu cuối và được thể hiện bên trong, các ánh xạ Ctrl duy nhất mà Vim được đảm bảo có thể phát hiện là những hợp âm được xác định trong tiêu chuẩn ASCII. Dưới đây là danh sách đầy đủ các ctrl+keykết hợp như vậy và mỗi byte đại diện.

Ctrl-@                 0x00            NUL
Ctrl-A to Ctrl-Z       0x01 to 0x1A
Ctrl-a to Ctrl-z       0x01 to 0x1A
Ctrl-[                 0x1B            ESC
Ctrl-\                 0x1C
Ctrl-]                 0x1D
Ctrl-^                 0x1E
Ctrl-_                 0x1F
Ctrl-?                 0x7F            DEL

Tuy nhiên, lưu ý rằng hầu hết trong số này đã có chức năng trong Vim và một số về cơ bản giống với / không thể phân biệt với các tổ hợp phím khác. ví dụ: CTRL-Mcó cùng mã khóa Enter, vì vậy nếu bạn ánh xạ một trong hai mã đó thì bạn cũng không thể tránh được ánh xạ khác.

Nguồn: Vim-FAQ

Bạn có thể có thể khắc phục các hạn chế ở trên bằng cách định cấu hình thiết bị đầu cuối của mình để gửi một chuỗi byte nhất định cho ánh xạ của bạn, như trong luồng tràn ngăn xếp này , nhưng điều đó chắc chắn sẽ gây khó khăn. Cá nhân, tôi chỉ muốn chọn một ánh xạ khác.

Điều này cuối cùng có thể được khắc phục, nhưng không thể, vì Vim phụ thuộc vào thiết bị đầu cuối mà nó đang chạy. Tuy nhiên, có khả năng điều này sẽ hoạt động ở Neovim. Tôi không biết nếu nó hoạt động ngay bây giờ hay không.


1
Thật tuyệt, tôi sẽ liên kết mọi người với điều này trong tương lai.
Tumbler41
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.