Vim撤消命令(带有大写U的那个)

时间:2014-11-19 12:42:49

标签: vim vi

我不明白undo line命令的工作原理。

文档说Undo all latest changes on one line.

这里all latest changes的定义是什么。

我注意到的一个行为是,有时U在第一次写入一行后撤消所有写操作。但这并不一致。例如,当我打开一个新文件时,编辑第一行,多次写入,U命令撤消每一次更改。

我无法从谷歌搜索中找到任何具体的东西..

2 个答案:

答案 0 :(得分:11)

在我的理解中所有最新的更改意味着返回更改历史记录,直到遇到不同行的更改,然后停在那里。因此,如果您从空缓冲区开始并且只编辑一行(重复),则U将擦除所有添加项。

Vim通常合并在同一行发生的变化附近;这些在:changes中显示为单个条目。

答案 1 :(得分:1)

U:返回修改为原始状态的最后一行(反转最后修改行中的所有更改)

http://vim.wikia.com/wiki/Undo_and_Redo