См. :he i_CTRL-^
Чтобы использовать Ctrl- ^ для переключения «Caps Lock», поместите следующее в ваш vimrc (или просто дерните строки в Vim, затем введите: @ »для их выполнения):
" Execute 'lnoremap x X' and 'lnoremap X x' for each letter a-z.
for c in range(char2nr('A'), char2nr('Z'))
execute 'lnoremap ' . nr2char(c+32) . ' ' . nr2char(c)
execute 'lnoremap ' . nr2char(c) . ' ' . nr2char(c+32)
endfor
Поскольку идея состоит в том, чтобы позволить вам забыть о capslock, также может быть желательно автоматически отключить этот специальный режим при выходе из режима вставки:
" Kill the capslock when leaving insert mode.
autocmd InsertLeave * set iminsert=0
Обратите внимание на использованиеопции 'iminsert
'. Нажатие C - ^ фактически переключает эту опцию между 0 и 1, что автоматически включает или отключает ваши языковые карты. Связанная опция, 'imsearch
', управляет отображениямипри вводе шаблона поиска.
Использование таблицы ключей
Альтернативная процедура, которая также вызывает нажатие Ctrl- ^ для переключения «Caps Lock», заключается в использовании таблицы ключей (это не отображение; см.: help mbyte-keymap).
Использование опции 'keymap' поддерживает чистоту vimrc и добавляет индикатор в строку состояния в режиме «Caps Lock».
Подробнее см. Викия