持久性撒消(persistent undo),会将撒消树保存到撤销文件中,因而即使被编辑文件被关闭再打开多次,也可以撤销过去进行的所有修改(当然不能超过undolevel的限制)。

启用持久性撤销

默认情况下,Vim并没有启用持久性撤销。使用以下命令,可以启用持久性撤销:

set undofile

Vim将为正在编辑的文件,分别创建独立的撤销文件,用以保存支持撤销操作的信息。

生成撤销文件

撤销文件通常保存在文件本身所在的目录里。使用以下命令,可以将撤销文件集中保存到指定的目录:

set undodir=$HOME/.vim/undodir

请注意,需要确保您指定的目录已经存在。

生成的撤销文件,将以所编辑文件的完整名称命名。其中包括了完整的路径名,其中“/”将以“%”代替:

Undofile

Vim只会创建撒消文件,而永远不会去删除它们;如果你更改了文件名称,那么旧文件名所对应的撤销文件也不会被自动删除。建议,将撤销文件存储到指定目录(比如temp临时目录),并定期进行手动清理。

撤销操作

使用:earlier {N}f 和 :later {N}f 命令,可以根据写入次数进行撤销。

例如以下用命令,可以恢复到上次写入时的文本状态:

:earlier 1f

使用:help persistent-undo命令,可以查看关于持久性撤消的帮助信息

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>