Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. atone.nvim

atone.nvim

GPL-3.0Lua

A modern, highly customizable undo tree plugin for Neovim with live syntax-aware diff previews.

GitHubGitHub
184 stars12 forks0 contributors

What is atone.nvim?

atone.nvim is a modern undo tree plugin for Neovim that visualizes your edit history as an interactive graph. It solves the problem of navigating complex undo histories by providing a clear, visual representation with advanced features like live diff previews and bookmarking.

Target Audience

Neovim users who frequently work with complex editing sessions and want enhanced undo navigation beyond the built-in capabilities.

Value Proposition

Developers choose atone.nvim for its modern UI, live syntax-aware diff previews, and high customizability, offering a significantly more powerful and visual undo experience compared to Neovim's basic undotree.

Overview

Modern undotree plugin for nvim

Use Cases

Best For

  • Visualizing complex edit histories in Neovim
  • Comparing changes between undo states with syntax highlighting
  • Bookmarking important points in undo history for quick return
  • Enhancing undo navigation in large codebases
  • Customizing undo tree appearance and behavior
  • Integrating TreeSitter-powered diff previews into editing workflow

Not Ideal For

  • Users satisfied with Neovim's built-in `:undotree` who want zero setup and minimal plugin footprint
  • Environments where TreeSitter is disabled or unavailable, as key diff features depend on it
  • Projects requiring undo management across specific buffer types excluded by auto-attach (e.g., non-empty buftype buffers)
  • Developers who prioritize absolute performance and avoid any visualization overhead, even if optimized

Pros & Cons

Pros

Live Syntax-Aware Diff

Uses TreeSitter for word-level inline highlighting in diff previews, providing instant, accurate change visualization as highlighted in the features list.

Auto-Attaching Tree

Automatically follows buffer switches, ensuring the undo tree is always relevant to the current editing context without manual intervention, as specified in the auto_attach configuration.

Node Marks and Navigation

Allows bookmarking undo states with persistent, named marks and integrates with fuzzy finders like Telescope for quick navigation, enhancing workflow efficiency.

High Customizability

Nearly every aspect, from layout to label formatting, is configurable via a detailed Lua setup, evidenced by the extensive configuration options and custom formatter examples.

Cons

Complex Configuration

The setup requires understanding Lua tables and numerous options, which can be overwhelming for users not deeply familiar with Neovim configuration, despite the documentation.

TreeSitter Dependency

Core features like syntax-aware diff previews rely on TreeSitter, so users without it enabled miss out on key functionality, limiting utility in some setups.

Potential Layout Instability

The README warns that non-adaptive diff window widths can cause 'unexpected edge-case bugs' in certain window layouts, indicating stability issues in specific scenarios.

Frequently Asked Questions

Quick Stats

Stars184
Forks12
Contributors0
Open Issues2
Last commit2 days ago
CreatedSince 2025

Tags

#version-control#treesitter#productivity#diff-tool#customizable#neovim-plugin#nvim-plugin#text-editing#neovim#nvim#visualization

Built With

T
Treesitter
L
Lua

Included in

Neovim20.6k
Auto-fetched 19 hours ago

Related Projects

nvim-autopairsnvim-autopairs

autopairs for neovim written in lua

Stars4,066
Forks141
Last commit2 months ago
nvim-treesitter-contextnvim-treesitter-context

Show code context

Stars3,215
Forks236
Last commit2 months ago
zen-mode.nvimzen-mode.nvim

🧘 Distraction-free coding for Neovim

Stars2,149
Forks76
Last commit8 months ago
nvim-ts-autotagnvim-ts-autotag

Use treesitter to auto close and auto rename html tag

Stars2,104
Forks109
Last commit3 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub