diff --git a/nvim/lua/tracer/init.lua b/nvim/lua/tracer/init.lua index c6e48fd..56e89f3 100644 --- a/nvim/lua/tracer/init.lua +++ b/nvim/lua/tracer/init.lua @@ -1,3 +1,4 @@ require("tracer.options") +require("tracer.keymaps") require("tracer.plugins") pcall(require, "tracer.plugins.telescope") diff --git a/nvim/lua/tracer/keymaps.lua b/nvim/lua/tracer/keymaps.lua new file mode 100644 index 0000000..819f755 --- /dev/null +++ b/nvim/lua/tracer/keymaps.lua @@ -0,0 +1,26 @@ +vim.keymap.set("n", "d", function() + local count = vim.v.count1 + local current_line = vim.fn.line(".") + local last_line = vim.fn.line("$") + local start_line = current_line + 1 + local end_line = math.min(current_line + count, last_line) + + if start_line > last_line then + return + end + + vim.api.nvim_buf_set_lines(0, start_line - 1, end_line, false, {}) +end, { desc = "Delete lines below" }) + +vim.keymap.set("n", "D", function() + local count = vim.v.count1 + local current_line = vim.fn.line(".") + local start_line = math.max(current_line - count, 1) + local end_line = current_line - 1 + + if end_line < 1 then + return + end + + vim.api.nvim_buf_set_lines(0, start_line - 1, end_line, false, {}) +end, { desc = "Delete lines above" }) diff --git a/nvim/lua/tracer/options.lua b/nvim/lua/tracer/options.lua index 3665411..e560593 100644 --- a/nvim/lua/tracer/options.lua +++ b/nvim/lua/tracer/options.lua @@ -1,6 +1,7 @@ local opt = vim.opt opt.number = true +opt.relativenumber = true opt.cursorline = true opt.ignorecase = true opt.laststatus = 2 diff --git a/nvim/lua/tracer/plugins/lspconfig.lua b/nvim/lua/tracer/plugins/lspconfig.lua index 82bf26f..ad6279d 100644 --- a/nvim/lua/tracer/plugins/lspconfig.lua +++ b/nvim/lua/tracer/plugins/lspconfig.lua @@ -10,7 +10,7 @@ vim.lsp.config("*", { }) -- Keymaps -vim.keymap.set("n", "d", vim.diagnostic.open_float) +vim.keymap.set("n", "o", vim.diagnostic.open_float) vim.keymap.set("n", "[d", vim.diagnostic.goto_prev) vim.keymap.set("n", "]d", vim.diagnostic.goto_next) vim.keymap.set("n", "gd", vim.lsp.buf.definition)