-- Shorten function name local keymap = vim.keymap.set -- Silent keymap option local opts = { noremap = true, silent = true } --Remap space as leader key keymap('', '', '', opts) vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' -- Modes -- normal_mode = "n", -- insert_mode = "i", -- visual_mode = "v", -- visual_block_mode = "x", -- term_mode = "t", -- command_mode = "c", -- Normal -- -- Better window navigation keymap('n', '', 'h', opts) keymap('n', '', 'j', opts) keymap('n', '', 'k', opts) keymap('n', '', 'l', opts) -- Resize with arrows keymap('n', '', ':resize -2', opts) keymap('n', '', ':resize +2', opts) keymap('n', '', ':vertical resize -2', opts) keymap('n', '', ':vertical resize +2', opts) -- Navigate buffers keymap('n', '', ':bnext', opts) keymap('n', '', ':bprevious', opts) -- Clear highlights keymap('n', 'nh', 'nohlsearch', opts) -- delete single character without copying into register keymap('n', 'x', '"_x', opts) -- Close buffers keymap('n', 'bd', ':bd', opts) keymap('n', 'bD', 'Bdelete!', opts) -- Write file keymap('n', 'fs', ':write', opts) keymap('n', 'fw', ':write', opts) keymap('n', 'fS', ':wa', opts) keymap('n', 'fW', ':wa', opts) -- Safe quit keymap('n', 'qq', ':quitall', opts) -- Force quit keymap('n', 'Q', ':quitall!', opts) -- Better paste keymap('v', 'p', '"_dP', opts) -- Insert -- -- Press jk fast to enter keymap('i', 'jk', '', opts) keymap('v', 'jk', '', opts) -- Visual -- -- Stay in indent mode keymap('v', '<', '', '>gv', opts) -- Search will center on the line it's found in keymap('n', 'n', 'nzzzv', opts) keymap('n', 'N', 'Nzzzv', opts) keymap('n', '#', '#zz', opts) keymap('n', '*', '*zz', opts) -- increment/decrement numbers keymap('n', '+', '', opts) -- increment keymap('n', '-', '', opts) -- decrement -- window management keymap('n', 'wv', 'v', opts) -- split window vertically keymap('n', 'wh', 's', opts) -- split window horizontally keymap('n', 'w-', 's', opts) -- split window horizontally keymap('n', 'wd', ':close', opts) -- close current split window keymap('n', 'to', ':tabnew', opts) -- open new tab keymap('n', 'tx', ':tabclose', opts) -- close current tab keymap('n', 'tn', ':tabn', opts) -- go to next tab keymap('n', 'tp', ':tabp', opts) -- go to previous tab