-- move visually selected lines up/down vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv") vim.keymap.set('v', 'K', ":m '<-2<CR>gv=gv") -- join lines while preserving cursor position vim.keymap.set('n', 'J', 'mzJ`z') -- center the current line after various commands vim.keymap.set('n', '<C-d>', '<C-d>zz') vim.keymap.set('n', '<C-u>', '<C-u>zz') vim.keymap.set('n', 'n', 'nzzzv') vim.keymap.set('n', 'N', 'Nzzzv') vim.keymap.set('n', '<C-k>', '<cmd>cnext<CR>zz') vim.keymap.set('n', '<C-j>', '<cmd>cprev<CR>zz') vim.keymap.set('n', '<leader>k', '<cmd>lnext<CR>zz') vim.keymap.set('n', '<leader>j', '<cmd>lprev<CR>zz') -- paste/delete using the 'black hole' register vim.keymap.set('x', '<leader>p', [["_dP]]) vim.keymap.set({ 'n', 'v' }, '<leader>d', [["_d]]) vim.keymap.set('n', '<leader><leader>', function() vim.cmd 'so' end)