UndoTree
The undo history visualizer for Sublime Text
Details
Installs
- Total 24
- Win 13
- Mac 5
- Linux 6
| Mar 14 | Mar 13 | Mar 12 | Mar 11 | Mar 10 | Mar 9 | Mar 8 | Mar 7 | Mar 6 | Mar 5 | Mar 4 | Mar 3 | Mar 2 | Mar 1 | Feb 28 | Feb 27 | Feb 26 | Feb 25 | Feb 24 | Feb 23 | Feb 22 | Feb 21 | Feb 20 | Feb 19 | Feb 18 | Feb 17 | Feb 16 | Feb 15 | Feb 14 | Feb 13 | Feb 12 | Feb 11 | Feb 10 | Feb 9 | Feb 8 | Feb 7 | Feb 6 | Feb 5 | Feb 4 | Feb 3 | Feb 2 | Feb 1 | Jan 31 | Jan 30 | Jan 29 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 |
| Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 0 |
| Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Readme
- Source
- raw.githubusercontent.com
UndoTree for Sublime Text
A Vim-style UndoTree plugin for Sublime Text 4 (Python 3.8+), visualizing undo history as a branching ASCII tree with live diff previews.
Features
- Branching undo history — every save creates a new node; multiple branches supported
- ASCII tree visualization — shows the hierarchy of undo states using indentation and
- - Current node marker — the active undo state is marked with
* - Sequential counters — each node is numbered for easier reference (
1 -> +2 -0) - Live diff preview — highlights changes when navigating the tree
- Restore any state — select a node to restore its content in the editor
- Automatic initial snapshot — captures file content on open
- Lightweight & Python-only — no external dependencies
Installation
- Place the plugin folder into your Sublime Text
Packagesdirectory:
- Linux:
~/.config/sublime-text/Packages/ - Windows:
%APPDATA%\Sublime Text\Packages\ - macOS:
~/Library/Application Support/Sublime Text/Packages/
- Restart Sublime Text.
Usage
Open UndoTree
- Open the command palette (
Ctrl+Shift+P/Cmd+Shift+P) → Show UndoTree - The tree will appear in a Quick Panel, for example:
*1 -> Initial state
2 -> +2 -0
3 -> +1 -0
4 -> +3 -1
5 -> +1 -2
*marks the current node->separates the counter from the diff summary
Restore a Node
- Move the selection in the Quick Panel
- Press Enter → restores the editor content to that node
- Hovering over nodes shows a live diff preview in a separate panel
UndoTree Behavior
- Every file save creates a new node
- Branches are automatically tracked if you modify the file from an older state
- Initial file load automatically captures the starting state
Example Tree
*1 -> Initial state
2 -> +2 -0
3 -> +1 -0
4 -> +3 -1
5 -> +1 -2
- Shows indentation for branches
- Current node is marked with
* - Numbers help track node order
Commands
| Command | Description |
|---|---|
show_undo_tree |
Opens the UndoTree Quick Panel |
undo_tree_restore |
Restore buffer content to a specific node |
undotree_write_preview |
Internal: writes live diff preview |
undotree_write_panel |
Internal: updates ASCII tree panel |
Requirements
- Sublime Text 4 / 3.8+
- Python 3.8+ (built-in with Sublime Text 4)
- No additional dependencies
Notes
- ASCII tree uses spaces and
-only for branch visualization, so it works in any font - Hover preview works with the diff panel
- Branches can be navigated visually, but the Quick Panel does not allow full Vim-style j/k navigation yet