*32.1* 撤销到文件写入时的状态
来源:百度文库 编辑:神马文学网 时间:2024/04/28 06:53:46
请阅读原文
USR_32
*usr_32.txt* For Vim version 7.3. 最近更新: 2010年7月VIM USER MANUAL - by Bram Moolenaar译者
: Willishttp://vimcdoc.sf.net撤销树Vim 提供了多层撤销功能。如果你撤销了一些改变然后又进行了一些新的改变,你就在撤销树里建立了一个分支。本文本讨论如何在分支间来回移动。|32.1| 撤销到文件写入时的状态|32.2| 为每次改变进行编号|32.3| 撤销树内任意跳转|32.4| 时间旅行后一章: |usr_40.txt| 创建新的命令前一章: |usr_31.txt| 利用 GUI目录: |usr_toc.txt|
*32.1* 撤销到文件写入时的状态
有时你做了一些改变,然后发现还是想恢复到最近写入文件时的状态。没问题,用下面的命令就可以::earlier 1f
这里,"f" 代表 "file" (文件)。可以重复此命令,回到更遥远的过去。使用不同于 1 的计数值可以回去得快一些。如果回去太久了,可以这样往前:
:later 1f
注意
这些命令真的是依据时间序列进行的。如果你在撤销一些改变后又进行过改变,这一点很有区别。下一节有所解释。另外也请注意
我们说的是文本写入。要把撤销信息写入文件见 |undo-persistence|。
*32.2* 为每次改变进行编号
|02.5| 一节,我们只讨论了单线的撤销/重做。其实,可以出现分支。当你撤销了一些改变,又进行了一些新的改变,新的改变构成了撤销树的一个分支。让我们从文本 "one" 开始。第一个要做的改变是附加 " too"。然后移动到第一个 'o'上并修改为 'w'。这时我们有了两个改变,分别编号为 1 和 2,而文本有三个状态:one
|改变 1|one too
|改变 2|one two
如果我们撤销一次改变,回到 "one too",然后把 "one" 换成 "me",我们就在撤销树里建立了一个分支:one
|改变 1|one too
/ 改变 2 改变 3| |one two me too
现在你可以用 |u| 命令来撤销。如果你做两次,你得到的是 "one"。用 |CTRL-R| 来重做,你会到达 "one too"。多做一次 |CTRL-R| 又把你带到 "me too"。现在我们看到,撤销/重做使用最近使用的分支,在树内上下移动。这里重要的是改变发生的顺序。这里说的改变不考虑撤销和重做。每次改变后,你会得到一个新的文本状态。注意
只有改变被编号,上面显示的文本没有标识符。通常,通过它上方的改变号来引用它。但有时也通过他下方的某个改变之一来引用。特别是在树内往上移动的时候,这样你可以知道哪个改变刚刚被撤销掉。
*32.3* 撤销树内任意跳转
那么你现在怎么能到 "one two" 呢?你可以用这个命令::undo 2
文本现在成为了 "one two",因为它在改变号 2 之下。用 |:undo| 命令可以跳转到树内任何改变之下的文本。现在再进行一项改变: 把 "one" 改成 "not":
one
|改变 1|one too
/ 改变 2 改变 3| |one two me too
|改变 4|not two
现在你又改了主意想回到 "me too" 了。用 |g-| 命令。它在时间点上往后退,也就是说,它不是在树内上下移动,而是回到之前所在的改变。你可以重复 |g-|,这样你会看到文本的变化过程:me too
one two
one too
one
用 |g+| 时间点上往前进:one
one too
one two
me too
not two
|:undo| 用于你知道你要跳转到哪个改变的场合。|g-| 和 |g+| 用于你不知道具体要到达的改变号的情况。你可以在 |g-| 和 |g+| 之前加上计数来重复执行。
*32.4* 时间旅行
如果你在文本上工作了一段时间,撤销树变得相当大。这时你可能想回到几分钟之前的文本上。要看撤销树里有什么分支,用::undolist
number changes time
3 2 16 seconds ago4 3 5 seconds ago这里你可以看到每个分支上叶结点的编号,还有改变发生的时间。假定我们在改变号 4下方的 "not two" 那里,你可以这样回到十秒前::earlier 10s
取决于改变发生了多长时间,你回到达树内的某个位置。|:earlier| 命令参数可以用"m" 代表分钟,"h" 代表小时,"d" 代表天。用一个很大的数,你可以一路回到很久以前:
:earlier 100d
要 (再次) 进入未来世界,用 |:later| 命令:
:later 1m
参数可以用 "s"、"m" 和 "h",和 |:earlier| 完全类似。要看到更多的细节,或者要对信息进行操作,可以用 |undotree()| 函数。要看看它返回什么:
:echo undotree()
下一章: |usr_40.txt| 创建新的命令版权: 参见 |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
Generated by vim2html on Wed Sep 8 00:16:19 UTC 2010
*32.1* 撤销到文件写入时的状态
入时!
对于安装官方的AdobeReader出现"expr: 写入时发生错误"问题的解决方案
写testbench时输入输出数据到文件
撤销工信部软[2009]226号文件的建议书
调整电脑到最佳状态的方法
文件及目录的写权限
每次买入时要问自己的十个问题
每次买入时要问自己的十个问题
将你的电脑调整到最佳状态
如何将你的电脑调整到最佳状态
将电脑调整到最佳状态的步骤2_
将电脑调整到最佳状态的步骤_
轻松将电脑调整到完美的状态
将电脑调整到最佳状态的步骤
哈勃拍摄到Abell S0740 星系团的观测状态
java写文件
怎样写好文件
魏永征/周泽:撤销工信部软[2009]226号文件建议书
调整电脑到最佳状态
电脑调整到最佳状态
电脑调整到最佳状态
删除文件右键菜单里的“添加到播放列表”、“添加到同步列表”、“添加到刻
探照兵的发展与撤销