Files
dotfiles/nvim/lua/core/keymap.lua
T
2026-05-31 09:22:49 +08:00

36 lines
1.1 KiB
Lua

local keymap = vim.keymap.set
local opts = { noremap = true, silent = true }
keymap({ 'n', 'v' }, 'H', '0', opts)
keymap({ 'n', 'v' }, 'J', '5j', opts)
keymap({ 'n', 'v' }, 'K', '5k', opts)
keymap({ 'n', 'v' }, 'L', '$', opts)
keymap('n', 'n', 'nzz', opts)
keymap('n', 'N', 'Nzz', opts)
keymap('n', 's', '<cmd>w<cr>', opts)
keymap('n', '<space>nh', '<cmd>nohlsearch<cr>', opts)
keymap('n', '<space>sj', '<cmd>set splitbelow<cr><cmd>split<cr>', opts)
keymap('n', '<space>sl', '<cmd>set nosplitright<cr><cmd>vsplit<cr>', opts)
-- lsp
keymap('n', '<space>ld', vim.lsp.buf.definition, opts)
keymap('n', '<space>lr', vim.lsp.buf.references, opts)
keymap('n', '<space>rn', vim.lsp.buf.rename, opts)
keymap('n', '<space>ca', vim.lsp.buf.code_action, opts)
keymap('n', '<space>lh', function()
vim.lsp.buf.hover({ border = 'rounded' })
end, opts)
-- diagnostic
keymap('n', '<space>dp', function()
vim.diagnostic.jump({ count = 1 })
end, opts)
keymap('n', '<space>dn', function()
vim.diagnostic.jump({ count = -1 })
end, opts)
keymap('n', '<space>dt', function()
vim.diagnostic.open_float()
end, opts)