通常,当我在Vim编辑文本时想要撤销更改时,我必须执行以下步骤:
知道这一点后,当我想要撤销文本更改时,我想:为什么不直接进入临时的普通模式,按下
所以我做了以下操作:
我以为只是我的电脑运行缓慢,但我用传统方式执行撤销却瞬间完成了。当然,并非所有命令都是这样。当我尝试执行
所以我的问题是:为什么?临时普通模式不同于从按下
- 使用
Esc
退出插入模式 - 使用
u
撤销更改 - 使用各种命令(如
i
,o
等)进入插入模式
Ctrl-O
临时转换到普通模式执行一个命令。知道这一点后,当我想要撤销文本更改时,我想:为什么不直接进入临时的普通模式,按下
u
,而不必处理所有 Esc
和模式之间的切换等烦人的事情呢?所以我做了以下操作:
- 使用
Ctrl-O
进入临时普通模式,执行一个命令 - 使用
u
撤销更改 - 我会自动进入插入模式并继续编辑。
我以为只是我的电脑运行缓慢,但我用传统方式执行撤销却瞬间完成了。当然,并非所有命令都是这样。当我尝试执行
dd
并删除整行时,它会立即按预期工作。所以我的问题是:为什么?临时普通模式不同于从按下
Esc
进入的普通模式吗?它是否与缓冲区、交换文件或正在进行的其他操作有关?这是否与 Vim 编辑器中的撤消实现方式有关?
x
删除单个字符。它立即起作用了。 - Eddo Hintoso.swp
文件)并需要访问它。即使如此,为什么临时正常模式会导致命令减速如此之大呢?这几乎是疯狂的。不管怎样,我甚至不知道撤销操作在计算机中是如何实现的,所以我的“理论”是站不住脚的。 - Eddo Hintoso