小编var*_*b95的帖子

vimscript中可视块模式的返回值是什么?

我试图通过使用字典映射模式函数的返回值来在状态行上显示 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 7.4,Ubuntu 16.04
  • Vim 8.1,Debian 9

vim

4
推荐指数
1
解决办法
404
查看次数

标签 统计

vim ×1