:map呼び出されたモードを検出できる関数にすることは可能ですか? これは私が持っているものです:
func! s:ShowModeFunction()
echomsg mode(1)
endfunc
noremap <expr> <Plug>ShowMode <SID>ShowModeFunction()
map \m <Plug>ShowMode
マップ\mは最終的に top 関数を呼び出します。この関数は、通常モード、オペレーター保留モード、またはいずれかのビジュアル モードを示す文字列をエコーします。
<expr>ただし、これは中央のマップでのみ機能します。コロン コマンドを実行するmode()と、常に「通常モード」が返されるため、最後の呼び出しが役に立たなくなります。残念ながら、<expr>厳密には右辺に式が必要であり、関数は何も返さないため、暗黙の戻り値0が使用され、カーソルが最初の列に移動します。