-- move visually selected lines up/down vim.keymap.set('v', 'J', ":m '>+1gv=gv") vim.keymap.set('v', 'K', ":m '<-2gv=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', '', 'zz') vim.keymap.set('n', '', 'zz') vim.keymap.set('n', 'n', 'nzzzv') vim.keymap.set('n', 'N', 'Nzzzv') vim.keymap.set('n', '', 'cnextzz') vim.keymap.set('n', '', 'cprevzz') vim.keymap.set('n', 'k', 'lnextzz') vim.keymap.set('n', 'j', 'lprevzz') -- paste/delete using the 'black hole' register vim.keymap.set('x', 'p', [["_dP]]) vim.keymap.set({ 'n', 'v' }, 'd', [["_d]]) vim.keymap.set('n', '', function() vim.cmd 'so' end)