如何摆脱`插入模式`撤消在此模式下完成的更改?

时间:2012-07-14 15:28:47

标签: vim editor vi

我是Vim编辑的新手,所以我想做这个简单的任务比我实际做的更简单。

方案

当我犯了一个错误或者我只是在Insert mode中测试了一些新命令时,我希望我可以从Normal mode转移到Insert mode而不影响文件。

我的解决方案

我将Normal mode返回u并按Insert mode撤消更改。

问题

有一种方法可以在不影响文件的情况下离开{{1}}吗?

2 个答案:

答案 0 :(得分:3)

嗯,不确定vim默认是否有此功能。但vim是非常强大的编辑器,它支持键盘映射:你可以"绑定"某些按键/按键序列的一些动作序列。

这就是你可以为你的任务做的事情。在正常模式下输入::inoremap <f2> <esc>u 现在您可以按F2退出插入模式撤消更改。 如果您喜欢此绑定并希望它在编辑会话之间保持不变,只需将相同的文本(不带冒号)放入.vimrc文件中:inoremp <f2> <esc>u

此绑定存在一个问题:如果您在插入模式中没有做任何更改,F2将不会作为简单操作,它也会撤消之前的更改。

答案 1 :(得分:2)

您可以使用 Ctrl + o 执行一个普通命令,然后返回插入模式。因此,在这种情况下,您可以执行 Ctrl + o 然后 u 执行撤消并返回插入模式。见:help i_CTRL-o