-- Keymaps for better default experience -- See `:help vim.keymap.set()` vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) -- Remap for 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 }) vim.keymap.set('i', 'jk', '') vim.keymap.set('n', 'w', 'w!', { desc = 'Save File' }) vim.keymap.set('n', 'q', 'confirm q', { desc = 'Quit File' }) vim.keymap.set('v', '', '"*y', { desc = 'Copy to system clipboard' }) vim.keymap.set('v', 'p', [["_dP]], { desc = 'Paste and retain paste in clipboard' }) vim.keymap.set('n', 'sr', [[:%s/\<\>//gI]], { desc = 'Search and Replace Highlighted Word' }) vim.keymap.set('n', 'J', 'mzJ`z', { desc = 'Keep cusor in index position on J' }) -- Keep cusor in middle of buffer vim.keymap.set('n', '', 'zz', { desc = '⬇ middle of buffer and keep cusor in middle of buffer' }) vim.keymap.set('n', '', 'zz', { desc = '⬆ middle of buffer and keep cusor in middle of buffer' }) vim.keymap.set('n', 'N', 'nzzzv', { desc = 'next search and keep cusor in middle of buffer' }) vim.keymap.set('n', 'n', 'Nzzzv', { desc = 'previous search and keep cusor in middle of buffer' }) -- Move highlighted up or down vim.keymap.set('v', 'J', ":m '>+1gv=gv", { desc = 'Move highlighted up' }) vim.keymap.set('v', 'K', ":m '<-2gv=gv", { desc = 'Move highlighted down' }) -- Map c to close and save the buffer vim.api.nvim_set_keymap('n', 'c', [[:w | bd]], { noremap = true, silent = true }) -- Map c quickfix list remaps vim.api.nvim_set_keymap('n', 'cj', 'cnext', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'ck', 'cprev', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'cq', 'cclose', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'co', 'copen', { noremap = true, silent = true })