feat(nvim): prompt to save on <leader>Q instead of aborting

`:qa` fails with E37 when any buffer is modified, leaving the quit dead-ended.
`:confirm qa` asks Save/Discard/Cancel per modified buffer, which neither
strands the user nor writes unintended edits the way `:wqa` would.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015D4NsszUG7hy9ghKZ4nfhm
This commit is contained in:
2026-09-15 12:56:55 +02:00
co-authored by Claude Opus 5
parent d4f326bfd9
commit 24b940810e
+3 -1
View File
@@ -263,7 +263,9 @@ in
keymaps = [ keymaps = [
{ mode = "n"; key = "<leader>w"; action = "<cmd>w<cr>"; options.desc = "Save"; } { mode = "n"; key = "<leader>w"; action = "<cmd>w<cr>"; options.desc = "Save"; }
{ mode = "n"; key = "<leader>q"; action = "<cmd>q<cr>"; options.desc = "Quit window"; } { mode = "n"; key = "<leader>q"; action = "<cmd>q<cr>"; options.desc = "Quit window"; }
{ mode = "n"; key = "<leader>Q"; action = "<cmd>qa<cr>"; options.desc = "Quit all (exit nvim)"; } # `confirm` prompts Save/Discard/Cancel per modified buffer rather than
# aborting with E37, so quitting never dead-ends and never writes silently.
{ mode = "n"; key = "<leader>Q"; action = "<cmd>confirm qa<cr>"; options.desc = "Quit all (prompt to save)"; }
# Restore the saved session for the current directory (persistence.nvim). # Restore the saved session for the current directory (persistence.nvim).
{ mode = "n"; key = "<leader>S"; action.__raw = "function() require('persistence').load() end"; options.desc = "Restore session"; } { mode = "n"; key = "<leader>S"; action.__raw = "function() require('persistence').load() end"; options.desc = "Restore session"; }
{ mode = "n"; key = "<leader>e"; action = "<cmd>Neotree toggle<cr>"; options.desc = "File tree"; } { mode = "n"; key = "<leader>e"; action = "<cmd>Neotree toggle<cr>"; options.desc = "File tree"; }