Подтвердить что ты не робот

Почему так сложно переделать Esc в CAP LOCK в Vim?

Я видел подсказки wiki wiki, и он говорит, что для переназначения Esc в CAP LOCK вам необходимо отредактировать следующий код окна:

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 в CAP LOCK, только добавив или изменив строки в _vimrc?

4b9b3361

Ответ 1

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

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

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

#IfWinActive
   CAPSLOCK::CTRL
return

Этот script, например, устанавливает шапки для выхода в vim и управляет везде.

Ответ 2

Там нет идентификатора ключа vim для ключа capslock, поэтому вам нужно сделать это с помощью кода сканирования.

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

Ответ 3

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

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

Однако, я не думаю, что REGEDIT script настолько плох. Это вроде уродливо, но это всего две строки!

Ответ 4

Вы также можете использовать Ctrl-C для выхода (доступно по крайней мере в vim). Это то, что я обычно использую. Тем не менее, я обычно меняю контроль и caplock, и сделал это через настройки реестра в Windows и клавиатуре conf в ubuntu.

Изменить: как @mMontu любезно отмечает, Ctrl-C более жестокий, чем Esc: Как указано в этом подходящем вопросе,

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

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

Ответ 5

Также вы можете попробовать следующее: SharpKeys. Я сменил CapLock и Esc вместе с ним.

Ответ 6

Другая альтернатива, которая хорошо работала для меня, заключалась в использовании инструкций, этот веб-сайт

По существу: установите Microsoft Layout Creator, затем отредактируйте исходный код, чтобы можно было переназначить CAPS LOCK и создать свой собственный макет.