nvim/lua/config/keymaps.lua
2025-09-25 15:16:23 +02:00

58 lines
1.9 KiB
Lua

local wk = require("which-key")
-- clear searchterm
vim.keymap.set('n', '<F5>', ':noh<CR>')
-- prevent using arrow keys or mouse
vim.keymap.set('n', '<Left>', ':echoe "Yo retard use h"<CR>')
vim.keymap.set('n', '<Right>', ':echoe "Yo retard use l"<CR>')
vim.keymap.set('n', '<Up>', ':echoe "Yo retard use k"<CR>')
vim.keymap.set('n', '<Down>', ':echoe "Yo retard use j"<CR>')
vim.opt.mouse = ''
-- dont automatically jump when searching
vim.keymap.set('n', '*', '*```<CR>')
-- show lsp floating tooltip
vim.keymap.set('n', '<c-k>', ':lua vim.lsp.buf.hover()<CR>')
-- toggle tagbar plugin
vim.keymap.set('n', '<F8>', ':TagbarToggle fj<CR>')
-- tab navigation using <TAB>
vim.keymap.set('n', '<Tab>', ':tabnext<CR>')
vim.keymap.set('n', '<S-Tab>', ':tabprevious<CR>')
-- quick close tab
vim.keymap.set('n', '<C-w>', ':tabclose<CR>')
-- jump to definition in new tab
vim.keymap.set('n', '<C-]>', '<cmd>tab split | lua vim.lsp.buf.definition()<CR>', {})
-- change split window
vim.keymap.set('n', '<C-k>', ':wincmd k<CR>')
vim.keymap.set('n', '<C-j>', ':wincmd j<CR>')
vim.keymap.set('n', '<C-h>', ':wincmd h<CR>')
vim.keymap.set('n', '<C-l>', ':wincmd l<CR>')
-- move split to tab
vim.keymap.set('n', '<C-m>', ':tab split<CR>')
-- open context menu
vim.keymap.set("n", "<C-t>", function()
require("menu").open("default")
end, {})
-- lspsaga
wk.register({
l = {
name = "Lspsaga",
c = { "<cmd>Lspsaga code_action<cr>", "Code Action" },
o = { "<cmd>Lspsaga outline<cr>", "Outline" },
r = { "<cmd>Lspsaga rename<cr>", "Rename" },
d = { "<cmd>Lspsaga goto_definition<cr>", "Lsp GoTo Definition" },
f = { "<cmd>Lspsaga finder<cr>", "Lsp Finder" },
p = { "<cmd>Lspsaga preview_definition<cr>", "Preview Definition" },
s = { "<cmd>Lspsaga signature_help<cr>", "Signature Help" },
w = { "<cmd>Lspsaga show_workspace_diagnostics<cr>", "Show Workspace Diagnostics" },
}
}, { prefix = "<leader>" })