Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以字符串形式获取当前VIM模式_Vim - Fatal编程技术网

如何以字符串形式获取当前VIM模式

如何以字符串形式获取当前VIM模式,vim,Vim,我在VIM中构建了自己的状态行,以显示我使用的当前模式指示器: set statusline+=%#NormalColor#%{(mode()=='n')?'\ \ NORMAL\ ':''} set statusline+=%#InsertColor#%{(mode()==?'i')?'\ \ INSERT\ ':''} set statusline+=%#ReplaceColor#%{(mode()==?'R')?'\ \ RPLACE\ ':''} set statusline+=%#Vi

我在VIM中构建了自己的状态行,以显示我使用的当前模式指示器:

set statusline+=%#NormalColor#%{(mode()=='n')?'\ \ NORMAL\ ':''}
set statusline+=%#InsertColor#%{(mode()==?'i')?'\ \ INSERT\ ':''}
set statusline+=%#ReplaceColor#%{(mode()==?'R')?'\ \ RPLACE\ ':''}
set statusline+=%#VisualColor#%{(mode()==#'v')?'\ \ VISUAL\ ':''}
set statusline+=%#VisualColor#%{(mode()==#'V')?'\ \ V-LINE\ ':''}
set statusline+=%#VisualColor#%{(mode()=='\<C-V>')?'\ \ V-BLOCK\ ':''}
set statusline+=%#NormalColor#%{(mode()='n')?'\\NORMAL\':''
设置statusline+=%#InsertColor#%{(模式()=?'i')?'\\INSERT\':''}
设置statusline+=%#ReplaceColor%{(mode()=?'R')?'\\RPLACE\':'}
设置statusline+=%#VisualColor%{(模式()==#'v')?'\\视觉\':''}
设置statusline+=%#VisualColor%{(模式()==#'V')?“\\V-LINE\”:“”
设置statusline+=%#VisualColor%{(模式()='\')?'\\V-BLOCK\':'''}

它适用于除V型块以外的所有模式。有没有办法将“\”与这种方法相匹配?

这一行应该对您有所帮助。
^V
的ascii值为22:

.....%{(mode()==nr2char(22))?'\ \ V-BLOCK\ ':''}