Vim - Capslock включен?

11

Когда я работаю с Vim, я почти никогда не смотрю на свою клавиатуру (как и должно быть!), И это здорово, но иногда, по незнанию, я нажимаю клавишу CapsLock и заставляю меня кричать на экран.

Потому что, вы знаете, jэто не то же самое, что Jв обычном режиме (и так далее).

Поэтому вместо того, чтобы сопоставить CapsLockсообщение, Ctrlя хочу отобразить сообщение об ошибке, которое предупредит меня в обычном режиме, если это так.

Есть ли способ для Vim сказать, что вы CapsLockвключили?

Примечание: я предпочитаю решение VimScript / VimL для переносимости и потому что я хочу, чтобы Vim уведомлял меня и не зависел от реальной системы.

alfredodeza
источник
3
Избавьтесь от блокировки шапки, она вам не нужна. Если вам когда-либо понадобится набрать все заглавные буквы в течение более 60 секунд, снимите бремя с клавиши Shift.
Сидил
1
Я специально говорю, что не хочу этого делать, поэтому нет смысла предлагать мне избавиться от этого.
2
Я нахожу, что ключ CapsLock так легко ударить, что я переназначил его на Escape. Работает для меня. :)
dash-tom-bang
1
Наряду с преобразованием моей заглавной буквы в Escape, это также Control. Да, это и побег, и контроль одновременно ! В Linux вы можете сделать это через xmodmap -e "add Control = Escape". Надеюсь, ты повеселишься. :-)
evaryont
CapSee выполняет работу на OS X. Не тот ответ, который вы искали, но он, скорее всего, является правильным ответом большинства пользователей Apple.
Earlio

Ответы:

4

Вы можете использовать такой скрипт:

; INDICATE WHEN THE CAPS LOCK IS ON WITH A SCREEN MESSAGE
Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption
Gui, Font, caf001e s30 bold ,Verdana ;changes font color, size and font
Gui, Color, af001d;changes background color
Gui +LastFound  ; Make the GUI window the last found window for use by the line below.
WinSet, TransColor,af001d
Gui, Add, Text, ,CAPS LOCK ON
; TOGGLE THE GUI ON AND OFF
~capslock::
   if(0==GetKeyState("capslock","T")){
      Gui,  hide
   }else{
      if(guilocation>0){
         guilocation=0
         Gui, Show,x600 y800 NoActivate
      }else{
         guilocation=1
         Gui, Show,x600 y400 NoActivate
      }
   }
return 

Взято отсюда . Теперь Vim будет отображать CAPS LOCK ON всякий раз, когда включена ваша крышка

Обновление: и это скрипт для AHK (автоматический язык сценариев горячих клавиш). Согласно этому разговору невозможно создать поведение, которое вы описываете, используя только vim.


источник
2
что это за язык? Я бы предпочел иметь VimScript / VimL, ​​чтобы Vim позаботился об этом (обновляя мой вопрос)
1
Это для AHK (автоматизация сценариев горячих клавиш), так что бесполезно для вас. Пытался посмотреть в Google и не смог найти ничего конкретного для вашей проблемы: /
2
Идея хорошая, но как я могу поместить это в мой .vimrc, например? Как мне использовать это с vim? = |
Эдуардо Лучио