是否可以:map
使用可以检测到调用它的模式的函数?这就是我所拥有的:
func! s:ShowModeFunction()
echomsg mode(1)
endfunc
noremap <expr> <Plug>ShowMode <SID>ShowModeFunction()
map \m <Plug>ShowMode
map\m
最终调用 top 函数,该函数回显一个字符串,指示正常模式、操作员挂起模式或任何可视模式。
不过,这只适用<expr>
于中间地图;任何冒号命令都会使最终mode()
调用无效,因为它总是会返回“正常模式”。不幸的是,<expr>
严格要求右侧有一个表达式,并且由于该函数不返回任何内容,因此0
使用了隐式返回值,它将光标移动到第一列。