Liping's Blog

翁曰:「無他,但手熟爾。」

VIM (0) - 返回到最初打开文档的状态

在VIM中编辑文档,有时候需要撤销所有修改,恢复文档到最初的状态。这时候,我们可以一般是连续按u恢复到最初的状态。但如果已经修改了很多次的话,那就太麻烦了,下面是一些更简捷的方法。

  • :u1|u返回最初状态,再按u的话状态栏会显示“Already at oldest change”,表示文档已经在最初状态。u1的意思是返回到修改号1(change number 1)之后,|不是shell中的管道,而是多个命令的分割符,所以|u的意思是再做一次undo。

  • :earlier 10000000,10000000是一个尽量大的数,这个命令的意思是返回10000000次修改以前的状态。

  • 10000000g-,这个命令跟上面的:earlier 10000000是一样的意思,但是是在普通模式下输入。

  • 如果文档还没有保存的话,我们可以用:q!退出编辑,然后重新打开文档,但更简单的应该是用:e!命令,重新加载文件。

                            *E830*
:u[ndo] {N}         Jump to after change number {N}.  See |undo-branches|
                    for the meaning of {N}.  {not in Vi}


                            *:ea* *:earlier*
:earlier {count}    Go to older text state {count} times.


                            *g-*
g-                  Go to older text state.  With a count repeat that many
                    times.  {not in Vi}


                            *:edit!* *discard*
:e[dit]! [++opt] [+cmd]
                    Edit the current file always.  Discard any changes to
                    the current buffer.  This is useful if you want to
                    start all over again.
                    Also see |++opt| and |+cmd|.
                    {Vi: no ++opt}

参考:http://stackoverflow.com/questions/8565357/undo-all-changes-since-opening-buffer-in-vim

Tech vim

Comments