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', 'w', opts) keymap('n', 'nh', 'nohlsearch', opts) keymap('n', 'sj', 'set splitbelowsplit', opts) keymap('n', 'sl', 'set nosplitrightvsplit', opts) -- lsp keymap('n', 'ld', vim.lsp.buf.definition, opts) keymap('n', 'lr', vim.lsp.buf.references, opts) keymap('n', 'rn', vim.lsp.buf.rename, opts) keymap('n', 'ca', vim.lsp.buf.code_action, opts) keymap('n', 'lh', function() vim.lsp.buf.hover({ border = 'rounded' }) end, opts) -- diagnostic keymap('n', 'dp', function() vim.diagnostic.jump({ count = 1 }) end, opts) keymap('n', 'dn', function() vim.diagnostic.jump({ count = -1 }) end, opts) keymap('n', 'dt', function() vim.diagnostic.open_float() end, opts)