我有一个关于Vim的问题。到目前为止,我认为地图只是平等的命令。这就是事情。我将imap <c-o> <esc>o
放入.vimrc
文件中以开始新行。至于为什么不只是映射<CR>
,我遵循Drew Neil的建议,使用esc
和o
命令进行替换,以便我可以使用undo
命令行按行。但是,当我使用<c-o>
开始一行时,undo
命令不起作用,这意味着即使我映射{{1>,Vim也不会切换模式}} !我不知道Vim的功能还是bug?如果你在某些方面帮助我,我将不胜感激。
答案 0 :(得分:0)
您可以使用inoremap <c-o> <c-g>u<esc>o
来获得所需的行为。 <c-g>u
会中断当前的撤消序列(请参阅:h i_CTRL-G_u
)。
我实际上从未想过为什么在插入映射中使用<esc>
并不算作破坏撤消序列。我当然可以理论化为什么,但这样做在SO答案中是危险的,所以我不会:)
编辑添加:更简单的是:inoremap <c-o> <c-g>u<cr>