该插件可以用来加深对 Vim 中 Undo Branches 特性的理解。也可以用来在多次内容变更之后用来找回之前的内容。不了解 Vim 中 Undo Branches 特性的可以跳转 内容变更历史 查看详细介绍。
推荐使用 vim-plug 来管理该插件。
- undo-tree 可视化
- undo 历史基于变更时间戳排序,当天的变更不展示年/月/日
- 变更序列号在时间戳之前展示
- 当前位置通过
>seq<
标记 - 下一个变更通过
{seq}
标记,载入下一次变更的命令::redo
<c-r>
- 上一次变更通过
[seq]
标记,载入上一次变更的命令::undo
u
- 实时更新 diff 面板
- 高亮变更
- 通过单击/按键返回指定的变更
- 自定义热键和高亮
- 在 diff 面板展示变更
diff 面板截图:
下面的快捷键只能在 undotree 的 diff 面板中使用。
u
- 撤销<c-r>
- redo<
- 跳转到上一次保存时的状态>
- 跳转到下一次保存时的状态J
- 跳转到上一次撤销时的状态K
- 跳转到下一次撤销时的状态D
- 切换 diff 面板T
- 更新时间戳C
- 清空变更历史q
- 关闭 diff 面板?
- 切换帮助
在上面的 Undo Branches 图中,在第 47 次修改之后,增加了第 48 次修改,然后执行 undo,再增加第 49 次修改。从上图可以看出,每次执行 undo 然后再重新输入其他内容时,都会重新开启一个新的分支保存记录。其中,>49<
标识当前在 undo branches 中的位置;字号比较小的 s
表示之前保存过的位置,字号比较大的 s
标示最后一次保存的位置。
可以通过 :UndotreeToggle
命令来切换是否展示 undotree 的面板,也可以通过 按键映射 中介绍的方式定义适合自己的按键来执行 :UndotreeToggle
命令。
- Github
- Email: [email protected]