Я нашел способ автоматически отключить блокировку заглавных букв в обычном режиме (хотя он работает только в Linux).
Решения, которые были сделаны с помощью плагинов, не учитывают, что вы можете войти в обычный режим более чем одним способом (то есть из режима вставки в обычный режим), например из командного режима.
На самом деле нет события автокоманды, которое активируется при входе в нормальный режим, поэтому вместо этого я использовал CursorHold
событие, которое активируется, когда вы не печатаете в обычном режиме.
au CursorHold * call TurnOffCaps()
set updatetime=10
Вы устанавливаете время обновления на очень маленькое число, поэтому оно всегда будет активировано, прежде чем вы сможете набрать что-либо.
function TurnOffCaps()
let capsState = matchstr(system('xset -q'), '00: Caps Lock:\s\+\zs\(on\|off\)\ze')
if capsState == 'on'
silent! execute ':!xdotool key Caps_Lock'
endif
endfunction