vim.g.mapleader = ' ' local opts = { remap = false, silent = true } -- Quick write vim.keymap.set('n', 'w', ':w!', opts) -- Treat long lines as line containing breaks vim.keymap.set('n', 'j', 'gj', opts) vim.keymap.set('n', 'k', 'gk', opts) vim.keymap.set('n', 'tn', ':tabnew', { remap = false }) vim.keymap.set('n', 'tm', ':tabmove', { remap = false }) vim.keymap.set('n', 'tc', ':tabclose', opts) vim.keymap.set('n', 'to', ':tabonly', opts) -- Quickly access spelling menu vim.keymap.set('i', '', 'us', opts) vim.keymap.set('n', '', 'ius', opts) -- Clear search highlights vim.keymap.set('n', '', ':nohlsearch', opts) -- Disable 'Q' from opening Ex mode vim.keymap.set('n', 'Q', '', opts) -- System clipboard yank/put vim.keymap.set('', 'y', '"+y', opts) vim.keymap.set('', 'Y', '"+Y', opts) vim.keymap.set('', 'p', '"+p', opts) vim.keymap.set('', 'P', '"+P', opts) -- Undo neovim's default mapping of Y to y$ vim.cmd.unmap('Y') -- Make nvim :terminal more like vim :terminal vim.keymap.set('t', 'N', '', opts) -- Mappings to make navigating :Termdebug vim.keymap.set('n', '', ':Gdb:startinsert', opts) vim.keymap.set('n', '', ':Program', opts) vim.keymap.set('n', '', ':Source', opts) vim.keymap.set('n', '', ':Asm', opts) vim.keymap.set('t', '', ':Gdb:startinsert', opts) vim.keymap.set('t', '', ':Program', opts) vim.keymap.set('t', '', ':Source', opts) vim.keymap.set('t', '', ':Asm', opts)