-
Notifications
You must be signed in to change notification settings - Fork 27
/
learn-vi-06-Undo-Persistence.html
36 lines (29 loc) · 3.28 KB
/
learn-vi-06-Undo-Persistence.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="learn-vi.css" />
<title>VIM学习笔记 持久性撤销 (Undo Persistence)</title>
</head>
<body>
<p>持久性撒消(persistent undo),会将撒消树保存到撤销文件中,因而即使被编辑文件被关闭再打开多次,也可以撤销过去进行的所有修改(当然不能超过<a href="http://vimdoc.sourceforge.net/htmldoc/options.html#'undolevels'" title="undolevels">undolevel</a>的限制)。</p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">启用持久性撤销</p>
<p>默认情况下,Vim并没有启用持久性撤销。使用以下命令,可以启用持久性撤销:</p>
<p style="text-indent:2em"><code class="inset">set undofile</code></p>
<p>Vim将为正在编辑的文件,分别创建独立的撤销文件,用以保存支持撤销操作的信息。</p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">生成撤销文件</p>
<p>撤销文件通常保存在文件本身所在的目录里。使用以下命令,可以将撤销文件集中保存到指定的目录:</p>
<p style="text-indent:2em"><code class="inset">set undodir=$HOME/.vim/undodir</code></p>
<p>请注意,需要确保您指定的目录已经存在。</p>
<p>生成的撤销文件,将以所编辑文件的完整名称命名。其中包括了完整的路径名,其中“/”将以“%”代替:</p>
<p><a href="https://yyq123.github.io/learn-vim/images/undofile.png" title="undofile"><img src="https://yyq123.github.io/learn-vim/images/undofile.png" width="525" height="51" alt="Undofile"></a></p>
<p>Vim只会创建撒消文件,而永远不会去删除它们;如果你更改了文件名称,那么旧文件名所对应的撤销文件也不会被自动删除。建议,将撤销文件存储到指定目录(比如temp临时目录),并定期进行手动清理。</p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">撤销操作</p>
<p>使用:earlier {N}f 和 :later {N}f 命令,可以根据写入次数进行撤销。</p>
<p>例如以下用命令,可以恢复到上次写入时的文本状态:</p>
<p style="text-indent:2em"><code class="inset">:earlier 1f</code></p>
<p>使用<code class="inset">:help persistent-undo</code>命令,可以查看关于持久性撤消的<a href="http://vimcdoc.sourceforge.net/doc/undo.html#undo-persistence">帮助信息</a>。</p>
<p style="border-top:1px solid lightgray"><span style="float:right">Ver: 2.0 | <a href="mailto:[email protected]">YYQ</a></span><span><<a href="https://yyq123.github.io/learn-vim/learn-vi-06-Undo.html" title="撤销 (Undo)">上一篇</a> |<a title="笔记列表" href="http://yyq123.github.com/learn-vim/learn-vi-00-List.html"> 目录 </a>| <a href="https://yyq123.github.io/learn-vim/learn-vi-07-Print.html" title="打印 (Print & Hardcopy)">下一篇</a>></span></p>
</body>
</html>