diff --git a/lua/custom-autocmd.lua b/lua/custom-autocmd.lua index b8284f2..bfa2e8e 100644 --- a/lua/custom-autocmd.lua +++ b/lua/custom-autocmd.lua @@ -17,14 +17,31 @@ api.nvim_create_autocmd({ "BufRead" }, { }) -- highlight yanked region, see `:h lua-highlight` +local yank_group = api.nvim_create_augroup("highlight_yank", { clear = true }) api.nvim_create_autocmd({ "TextYankPost" }, { pattern = "*", - group = api.nvim_create_augroup("highlight_yank", { clear = true }), + group = yank_group, callback = function() vim.highlight.on_yank { higroup = "YankColor", timeout = 300 } end, }) +api.nvim_create_autocmd({ "CursorMoved" }, { + pattern = "*", + group = yank_group, + callback = function() + vim.g.current_cursor_pos = vim.fn.getcurpos() + end, +}) + +api.nvim_create_autocmd("TextYankPost", { + pattern = "*", + group = yank_group, + callback = function(ev) + vim.fn.setpos('.', vim.g.current_cursor_pos) + end, +}) + -- Auto-create dir when saving a file, in case some intermediate directory does not exist api.nvim_create_autocmd({ "BufWritePre" }, { pattern = "*", diff --git a/lua/mappings.lua b/lua/mappings.lua index 8a1e2e6..1853317 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -201,20 +201,6 @@ end -- insert semicolon in the end keymap.set("i", "", "miA;`ii") --- Keep cursor position after yanking -keymap.set("n", "y", "myy") - -api.nvim_create_autocmd("TextYankPost", { - pattern = "*", - group = api.nvim_create_augroup("restore_after_yank", { clear = true }), - callback = function() - vim.cmd([[ - silent! normal! `y - silent! delmarks y - ]]) - end, -}) - -- Go to the beginning and end of current line in insert mode quickly keymap.set("i", "", "") keymap.set("i", "", "")