-- Better default experience vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) -- Dealing with word wrap vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) -- Diagnostic vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) vim.keymap.set('n', 'e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' }) -- Split navigation vim.keymap.set('n', '', 'h', { desc = 'Split: Move left' }) vim.keymap.set('n', '', 'j', { desc = 'Split: Move down' }) vim.keymap.set('n', '', 'k', { desc = 'Split: Move up' }) vim.keymap.set('n', '', 'l', { desc = 'Split: Move right' }) vim.keymap.set('n', '', 'vertical resize -5', { desc = 'Split: Resize left', noremap = true }) vim.keymap.set('n', '', 'resize +5', { desc = 'Split: Resize down', noremap = true }) vim.keymap.set('n', '', 'resize -5', { desc = 'Split: Resize up', noremap = true }) vim.keymap.set('n', '', 'vertical resize +5', { desc = 'Split: Resize right', noremap = true }) -- Tab navigation vim.keymap.set('n', 'tn', 'tabnew', { desc = '[T]ab: [n]ew' }) -- TODO: need to decide how to handle vs : vim.keymap.set('n', 'te', ':tabedit', { desc = '[T]ab: [e]dit'}) vim.keymap.set('n', 'td', 'tabclose', { desc = '[T]ab: [d]elete'}) vim.keymap.set('n', 'tl', 'tabnext', { desc = 'Tab: next'}) vim.keymap.set('n', 'th', 'tabprev', { desc = 'Tab: prev'})