我在 Vim - Tutorial (Part 1) - 6.2 Insert mode maps 中关注 Mapping keys ,它说:
The <C-R>= command doesn't create a new undo point.
You can also call Vim functions using the <C-R>= command:
:inoremap <F2> <C-R>=MyVimFunc()<CR>
我正在尝试使用它来调用SingleCompile#Compile()
:
map! <F5> <C-R>=SingleCompile#Compile()<CR>
它正在工作,但问题是当我回到插入模式时,0
会插入一个字符作为副作用。
为什么会这样,我该如何避免?
编辑:
我正在使用它是<C-R>
因为它不会创建撤消点,并且其目的是调用函数而不是像<C-O>
这样输入命令。我不想创建撤消点。
编辑:
我已经根据 Ingo Karkat 提供的三元运算符技巧更新了 VIM wiki。