Почему так сложно переоборудовать ESC в блокировку Caps в Vim?

StackOverflow https://stackoverflow.com/questions/2145026

  •  23-09-2019
  •  | 
  •  

Вопрос

Я видел советы Vim Wiki, и в нем говорится, что для того, чтобы пережить ESC в блокировку Caps, вы должны редактировать следующий код Windows:

REGEDIT4
[HKEY_CURRENT_USER\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00

Можно ли перенаправить ESC в блокировку Caps, только добавив или изменяя линии в _vimrc?

Это было полезно?

Решение

Я рекомендую вам использовать Autohotkey для этого.

Вы можете сделать смену горячей кладки на перемещение:

SetTitleMatchMode,2
#IfWinActive,VIM
   CAPSLOCK::ESC
return

#IfWinActive
   CAPSLOCK::CTRL
return

Этот скрипт, например, устанавливает крышки, чтобы сбежать в VIM, и управлять повсюду.

Другие советы

Для ключа Capslock нет идентификатора ключа VIM, поэтому вы должны сделать это с кодом сканирования.

Это было бы все равно, что попытаться отобразить клавишу CTRL или клавишу Shift к чему -то - эти ключи ничего не делают сами по себе, они являются модификаторами ключей, поэтому они не могут попасть в ловушку одинаково.

Картирование должно быть сделано на уровне ОС вместо VIM, поэтому осложнение исходит от ОС. Например, на моей машине Ubuntu у меня есть следующее ~/.Xmodmap:

! Esc on caps lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape

Тем не менее, я не думаю, что сценарий Regedit настолько плох. Это довольно уродливое, но это всего лишь две строки!

Также вы можете попробовать это: ШрайкиАнкет Я сменил каплей и ESC с ним.

Вы также можете использовать CTRL-C для побега (доступно по крайней мере в VIM). Что я обычно использую. Я обычно обменяюсь управлением и Capslock, и делал это с помощью настройки реестра в Windows и Keyboard Conf в Ubuntu.

РЕДАКТИРОВАТЬ: Как отмечает @mmontu, Ctrl-C более жестокий, чем ESC: как указано в Этот подходящий вопрос,

Вим не собирается проверять, если вы только что написали часть аббревиатуры, и он не будет запускать причудливые автоматические команды, которые ваши плагины настроены на каждый раз, когда вы оставляете режим вставки

Я не заметил, потому что у меня еще не так продвинуто.

Еще одна альтернатива, которая сработала для меня, - это использовать инструкции, найденные вэтот сайт

По сути: установите создателя макета клавиатуры Microsoft, затем отредактируйте его исходный код, чтобы позволить переиздание блокировки Caps и создать свой собственный макет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top