我试图通过使用字典映射模式函数的返回值来在状态行上显示 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()]}
Run Code Online (Sandbox Code Playgroud)
它几乎适用于所有模式,但在切换到可视块模式时会抛出以下错误消息:
E716: Key not present in Dictionary: ^V
Run Code Online (Sandbox Code Playgroud)
我也试着字符串<\C-V>找到这里,CTRL-V发现这里和^V这是在错误信息写出来,但他们既不是正确的。
测试版本:
vim ×1