diff options
Diffstat (limited to 'nvim/lua/core/keymaps.lua')
-rw-r--r-- | nvim/lua/core/keymaps.lua | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/nvim/lua/core/keymaps.lua b/nvim/lua/core/keymaps.lua index 0ab02ff..a65133d 100644 --- a/nvim/lua/core/keymaps.lua +++ b/nvim/lua/core/keymaps.lua @@ -48,7 +48,7 @@ vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz", { desc = "Previous quickfix vim.keymap.set("n", "U", "<C-r>", { desc = "Redo" })
-- Search and replace current word
-vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
+vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
{ desc = "Replace current word" })
-- Terminal keymaps
@@ -61,13 +61,20 @@ vim.keymap.set("v","<C-r><C-k>", ":ToggleTermSendVisualLines<cr><Esc>", { desc = -- File browser
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory with Oil" })
--- LSP quick diagnostics
+-- LSP
+-- Jump to definition with gd
+vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {noremap=true, silent=true})
+-- Optional: Add other useful LSP keybindings
+vim.keymap.set('n', 'gr', vim.lsp.buf.references, {noremap=true, silent=true})
+vim.keymap.set('n', 'K', vim.lsp.buf.hover, {noremap=true, silent=true})
+vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, {noremap=true, silent=true})
+vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, {noremap=true, silent=true})
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, { noremap=true, silent=true, desc = "Show diagnostics" })
-- Python docstring helper
-vim.keymap.set("n", "<leader>dc", ":PythonDocstring<CR>", {
- silent = true,
- desc = "Insert Python docstring template"
+vim.keymap.set("n", "<leader>dc", ":PythonDocstring<CR>", {
+ silent = true,
+ desc = "Insert Python docstring template"
})
----------------
@@ -100,10 +107,10 @@ vim.keymap.set("n", "<leader>b", "<cmd>Telescope buffers theme=dropdown<cr>", { -- Harpoon keymaps
vim.keymap.set("n", "<leader>a", function() require("harpoon"):list():add() end, { desc = "Add file to harpoon" })
vim.keymap.set("n", "<C-e>", function() require("harpoon").ui:toggle_quick_menu(require("harpoon"):list()) end, { desc = "Toggle harpoon menu" })
-vim.keymap.set("n", "<leader>h", function() require("harpoon"):list():select(1) end, { desc = "Harpoon file 1" })
-vim.keymap.set("n", "<leader>j", function() require("harpoon"):list():select(2) end, { desc = "Harpoon file 2" })
-vim.keymap.set("n", "<leader>k", function() require("harpoon"):list():select(3) end, { desc = "Harpoon file 3" })
-vim.keymap.set("n", "<leader>l", function() require("harpoon"):list():select(4) end, { desc = "Harpoon file 4" })
+vim.keymap.set("n", "<leader>j", function() require("harpoon"):list():select(1) end, { desc = "Harpoon file 1" })
+vim.keymap.set("n", "<leader>k", function() require("harpoon"):list():select(2) end, { desc = "Harpoon file 2" })
+vim.keymap.set("n", "<leader>l", function() require("harpoon"):list():select(3) end, { desc = "Harpoon file 3" })
+vim.keymap.set("n", "<leader>;", function() require("harpoon"):list():select(4) end, { desc = "Harpoon file 4" })
vim.keymap.set("n", "<leader>N", function() require("harpoon"):list():prev() end, { desc = "Previous harpoon file" })
vim.keymap.set("n", "<leader>P", function() require("harpoon"):list():next() end, { desc = "Next harpoon file" })
|