From 1d8df9d31040d0654d4553a0b21e8eda528e5ab3 Mon Sep 17 00:00:00 2001 From: Ivar Fatland Date: Thu, 9 Oct 2025 18:42:16 +0200 Subject: [PATCH] add persistent undo functionality to both neovim and vim --- nvim/.config/nvim/init.lua | 6 ++++++ vim/.vimrc | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 167d0e8..220866e 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -70,6 +70,12 @@ vim.cmd [[ set errorformat^=[----]\ %f:%l:\ %m ]] +vim.o.undofile = true +vim.o.undodir = vim.fn.expand("~/.vim/neoundodir") +if vim.fn.isdirectory(vim.o.undodir) == 0 then + vim.fn.mkdir(vim.o.undodir, "p") +end + vim.keymap.set('n', ',cf', function() local qf = vim.fn.getqflist() for i, item in ipairs(qf) do diff --git a/vim/.vimrc b/vim/.vimrc index c03ea61..d6e392e 100644 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -33,6 +33,13 @@ nnoremap H ^ nnoremap L $ set autoindent set cursorline +set undofile +set undodir=~/.vim/undodir +if !isdirectory(expand('~/.vim/undodir')) + call mkdir(expand('~/.vim/undodir'), 'p') +endif +set undodir=~/.vim/undodir +set undofile set errorformat^=[----]\ %f:%l:\ %m set expandtab set exrc