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:
+3
-1
@@ -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"; }
|
||||||
|
|||||||
Reference in New Issue
Block a user