【发布时间】:2012-07-27 19:59:43
【问题描述】:
我正在关注Mapping keys in Vim - Tutorial (Part 1) - 6.2 Insert mode maps,上面写着:
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。
【问题讨论】: