是否有一种方法可以将vim恢复到状态(光标位置,模式和文本缓冲区) vim在按下该键之前的状态?
要详细说明这一点,请说我处于插入模式并按Return
或o
,
使用我当前的.vimrc
将保留当前缩进。这就是我想要的 - 但这意味着撤消意外按键不再是单一动作(在这种情况下我必须按Esc, u
)。
答案 0 :(得分:3)
Vim的撤销系统非常强大(使用撤消分支等),但它仍然仅限于文本更改。相反,编辑器状态(当前模式,缓冲区等)未被覆盖;关于撤消的任何更改只有在它们是撤消文本更改的副作用时才会发生(因此,例如,当您撤消删除时,光标会移回以前删除的范围)。
很难想象具有您描述的功能的撤消系统如何工作,但我想其他更改"更改"会有点混乱而不是有用,所以我不认为这是可取的。
如果您偶尔会因模式更改或意外执行映射而感到惊讶,请尝试改进您的设置,例如:通过:
:set showcmd
'timeoutlen'
,以便您有更多时间输入(长)映射