【发布时间】:2017-11-19 15:26:52
【问题描述】:
我有一个关于 Vim 的问题。到目前为止,我将 map 理解为相等的命令。事情是这样的。我将imap <c-o> <esc>o 放在我的.vimrc 文件中以开始新行。至于为什么不只是映射<CR> 的原因是我按照Drew Neil 的建议使用esc 和o 命令替换,以便我可以逐行使用undo 命令行。但是,当我使用<c-o> 开始一行时,undo 命令不起作用,这意味着即使我映射了<esc>,Vim 也不会切换模式!我不知道是 Vim 的特性还是 bug?如果您能在某些方面帮助我,我将不胜感激。
【问题讨论】:
-
我试过这个,撤销对我有用。您是否在 vimrc 的其他地方重新映射了
o? 99% 的时间你应该使用inoremap而不是imap。前者将使用默认映射,而后者则尊重自定义映射。 -
你好安德鲁。我按照你的建议失败了:(。我想你可能不明白我的意思,'撤消'实际上对我有用。问题是,我写了一行,开始一个新行,完成,再次开始一个新行. 并切换到正常模式按“撤消”命令,Vim 只是删除我在插入模式下键入的所有行而不是一行。(我认为模式切换应该在我按 '
' 时发生。 -
哦,我现在明白了,我希望 :)。我已经给你一个解决方案作为答案。
标签: vim key-bindings