Зображення Ctrl зі знаком рівності


10

Я намагаюся скласти карту Ctrl та плюс підписати разом. Це те, що я намагаюся в своєму vimrc:

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

Однак здається, що картографування не спрацьовує. Будь-які пропозиції щодо того, що я можу зробити неправильно? Я використовую macvim.



1
Здається, подібне запитання все частішає: VIM як зіставити комбінований ключ: ctrl + shift + w +,
mMontu

@mMontu Так, це досить поширене питання. Цікаво, чи було б гарною ідеєю написати канонічну публікацію про внутрішнє представлення символів, термінових кодів та те, що vim може / не може відобразити.
Джеймс

Відповіді:


17

На жаль, не існує надійного способу картографування Ctrl-=.

Через те, що ctrl+keyакорди взаємодіють з терміналом і представлені внутрішньо, єдиними Ctrl-відображеннями, які Vim гарантовано зможе виявити, є ті, що визначені в стандарті ASCII. Ось повний список таких ctrl+keyкомбінацій, і кожен байт представляє.

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

Однак зауважте, що більшість із них вже мають функцію у Vim, а деякі по суті ідентичні / не відрізняються від інших натискань клавіш. наприклад, CTRL-Mмає той самий код коду Enter, що і, якщо ви зіставляєте будь-який із цих, ви також неминуче відображаєте інший.

Джерело: Vim-FAQ

Можливо, ви зможете обійти обмеження, описані вище, налаштувавши свій термінал для надсилання певної послідовності байт для вашого відображення, як у цій потоці переповнення стека , але це, безумовно, буде болем. Особисто я вважаю за краще вибрати іншу карту.

Зрештою, це може бути виправлено, але це малоймовірно, оскільки Vim покладається на термінал, на якому він працює. Однак є хороша можливість, що це працюватиме в Neovim. Я не знаю, працює це зараз чи ні.


1
Приємно, я буду пов’язувати людей до цього в майбутньому.
Tumbler41
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.