我尝试通过使用字典来映射mode函数的返回值,将vim的当前模式显示在状态行上:
几乎所有模式下都能正常运行,但在切换到可视化块模式时,会出现以下错误消息:
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