summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbh <qn+git@excalibur.computer>2026-03-14 19:22:13 +0800
committerbh <qn+git@excalibur.computer>2026-03-14 19:22:13 +0800
commitf37e054fa7a45da04ad64f10524a187c68f425ca (patch)
tree418864e96acdf60fbc92a7629260c9045a0b0ed4
parent1d30a4a7bb10439beddccc169c281283947640e0 (diff)
Modify 'a' behaviour
-rw-r--r--init.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/init.lua b/init.lua
index cbb2907..689c875 100644
--- a/init.lua
+++ b/init.lua
@@ -109,6 +109,15 @@ vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
-- UndoTree
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle, {})
+-- 'a' on empty line: enter insert mode with correct indentation
+vim.keymap.set('n', 'a', function()
+ local line = vim.api.nvim_get_current_line()
+ if line:match("^%s*$") then
+ return '"_cc'
+ end
+ return 'a'
+end, { noremap = true, expr = true })
+
--------------------------------------------------------
-- 🪶 GUI and Colour Configuration
--------------------------------------------------------