The goal of nvim-fundo is to make Neovim's undo file become stable and useful.
fundo-demo.mp4
WIP. If you like this plugin, star it to let me speed up to end WIP state.
- Restore undo history even if the file's content has been changed outside Neovim
- Limit size for archives
- Restore undo history even if the file has been moved
- Support useful use cases for undo file
- Neovim 0.7.2 or later
Install with Packer.nvim:
use {
'kevinhwang91/nvim-fundo', requires = 'kevinhwang91/promise-async',
run = function() require('fundo').install() end
}
use {
'kevinhwang91/nvim-fundo', requires = 'kevinhwang91/promise-async',
run = function() require('fundo').install() end
}
vim.o.undofile = true
require('fundo').setup()
Use undo file as usual.
Fundo will keep the latest files as archives, in other words, it takes additional space in your
disk. If the BufReadPost
event is fired, it will validate the undo file and restore it if
necessary.
{
archives_dir = {
description = [[The directory to store the archives]],
default = vim.fn.stdpath('cache') .. path.separator .. 'fundo'
},
limit_archives_size = {
description = [[Limit the archives directory size, unit is MB(megabyte), elder files will be
removed based on their modified time]],
default = 512
}
}
:h fundo
may help you to get the all default configuration.
make test
- If you get an issue or come up with an awesome idea, don't hesitate to open an issue in github.
- If you think this plugin is useful or cool, consider rewarding it a star.
The project is licensed under a BSD-3-clause license. See LICENSE file for details.