我需要重新映射<Space>
以运行MyFunction()
(在正常模式下),然后根据MyFunction()
的处理结果,它应该可以正常工作空间,即向右移动光标。如何做到这一点?
Exmaple:光标位于&#34; []&#34;,按空格更改为&#34; [x]&#34;,光标无法移动。
示例:光标位于&#34;单词&#34;,按空格键向右移动光标(正常模式)。
答案 0 :(得分:1)
nnoremap <expr> ...
正是您要找的。 p>
E.g。如果你的MyFunc()
返回一个布尔值,你可以:nnoremap <expr> <space> MyFunc()?"\<space>":"\<CR>"
这样就可以将空间映射到普通空格,或者输入取决于MyFunc()
的结果
您也可以让MyFun()
返回一个字符串,然后直接在键映射中使用它。
请阅读:h :map-expr
了解详情。