-- Normal mode mappings vim.keymap.set('n', 'gd', vim.lsp.buf.hover, { noremap = true }) vim.keymap.set('n', 'tw', function() MiniTrailspace.trim() end, { noremap = true }) -- Terminal and buffer mappings vim.keymap.set('n', 'tt', 'terminal', { noremap = true }) vim.keymap.set('t', '', '', { noremap = true }) vim.keymap.set('n', '', 'bprev', { noremap = true }) -- Move selected text up/down in visual mode vim.keymap.set('v', 'J', ":m '>+1gv=gv", { noremap = true }) vim.keymap.set('v', 'K', ":m '<-2gv=gv", { noremap = true }) -- Keep cursor in the middle when jumping or joining lines vim.keymap.set('n', 'J', 'mzJ`z', { noremap = true }) vim.keymap.set('n', '', 'zz', { noremap = true }) vim.keymap.set('n', '', 'zz', { noremap = true }) vim.keymap.set('n', 'n', 'nzzzv', { noremap = true }) vim.keymap.set('n', 'N', 'Nzzzv', { noremap = true }) -- Interface with system clipboard in normal, visual, and select modes vim.keymap.set({ 'n', 'v', 'x' }, 'y', '\'+y', { noremap = true, silent = true }) vim.keymap.set({ 'n', 'v', 'x' }, 'Y', '\'+yy', { noremap = true, silent = true }) vim.keymap.set({ 'n', 'v', 'x' }, 'p', '\'+p', { noremap = true, silent = true }) vim.keymap.set('n', 'ff', ':Pick files') vim.keymap.set('n', 'fb', ':Pick buffers') vim.keymap.set('n', 'h', ':Pick help') vim.keymap.set('n', 'e', ':Oil') vim.keymap.set('n', 'lf', vim.lsp.buf.format) vim.keymap.set('n', 'o', ':update :source') vim.keymap.set('n', 'w', ':write') vim.keymap.set('n', 'q', ':quit') vim.keymap.set({ 'n', 'v', 'x' }, 'y', "'+y") vim.keymap.set({ 'n', 'v', 'x' }, 'd', "'+d")