summaryrefslogtreecommitdiff
path: root/nvim/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/init.lua')
-rw-r--r--nvim/init.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/nvim/init.lua b/nvim/init.lua
index af18477..c0182b1 100644
--- a/nvim/init.lua
+++ b/nvim/init.lua
@@ -64,7 +64,13 @@ vim.keymap.set("v", ">", ">gv")
vim.keymap.set("v", "<", "<gv")
-- copy indent from line above
-local copy_indent_macro = "<Esc>0\"_d$?.<CR><cmd>noh<CR>0\"myw<C-o>0\"_d$\"mpa"
+local copy_indent_macro = "<Esc>0\"_D" -- clear current line
+ .. "?.<CR>" -- find first non-empty line above
+ .. "^\"yy0" -- copy indentation to y register
+ .. "<C-o>" -- return to original line
+ .. "\"yp" -- paste y register
+ .. "<cmd>noh<CR>" -- clear highlight
+ .. "A" -- enter insert mode
vim.keymap.set("i", "<S-Tab>", copy_indent_macro)
-- insert line break under cursor in normal mode
vim.keymap.set("n", "<C-j>", function()