Я пытаюсь отобразить текущий режим vim в строке состояния, отображая возвращаемое значение функции mode с помощью словаря:
let g:modeMap={
\ 'n' : 'Normal',
\ 'i' : 'Insert',
\ 'R' : 'Replace',
...
\ 'v' : 'Visual',
\ 'V' : 'Visual Line',
\ '\<C-V>' : 'Visual Block'
\}
set laststatus=2
set statusline=%{g:modeMap[mode()]}
Работает хорошо почти во всех режимах, однако выдает следующее сообщение об ошибке при переключении в режим визуального блока:
E716: Key not present in Dictionary: ^V
Я также пробовал строку <\C-V>
найдено здесь , CTRL-V
найдено здесь и ^V
, которое было записано в сообщении об ошибке, но ни один из них не был правильный.
Протестировано с версиями:
- Vim 7.4, Ubuntu 16.04
- Vim 8.1, Debian 9