vim.g.mapleader = " " local keymap = vim.keymap -- Modes -- -- "n" = normal mode -- "i" = insert mode -- "v" = visual mode -- "x" = visual block mode -- "t" = term mode -- "c" = command mode -- -- ---------------------------------------------------------------------------- -- Normal -- ---------------------------------------------------------------------------- -- Window splitting keymap.set( "n", "sv", "v" ) -- split widow vertically keymap.set( "n", "sh", "s" ) -- split widow horizontaly keymap.set( "n", "se", "=" ) -- make split windows equal width keymap.set( "n", "sx", ":close" ) -- close window -- keymap.set( "n", "sm", ":MaximizerToggle" ) keymap.set( "n", "sm", 'lua require("maximizer").toggle()', {silent = true, noremap = true}) -- keymap.set('n', 'mm', 'lua require("maximizer").maximize()', {silent = true, noremap = true}) -- keymap.set('n', 'mr', 'lua require("maximizer").restore()', {silent = true, noremap = true}) -- -- Window navigation keymap.set( "n", "", "h") keymap.set( "n", "", "j") keymap.set( "n", "", "k") keymap.set( "n", "", "l") -- -- Insert date -- keymap.set( "n", "d", ":pu=strftime('%Y-%m-%d')" ) -- -- -- --keymap.set( "n", "f", ":toggle-fullscreen" ) -- Resize window with arrows -- keymap.set( "n", "", ":vertical resize -2") -- keymap.set( "n", "", ":vertical resize +2") -- keymap.set( "n", "", ":resize +2") -- keymap.set( "n", "", ":resize -2") -- keymap.set( "n", "e", ":Lex 30 ") -- Buffers keymap.set( "n", "", ":bnext" ) -- next buffer keymap.set( "n", "", ":bprevious" ) -- prev buffer keymap.set( "n", "", ":bd" ) -- delete buffer -- TABs keymap.set( "n", "to", ":tabnew" ) -- open new tab keymap.set( "n", "tx", ":tabclose" ) -- close current tab keymap.set( "n", "tn", ":tabn" ) -- go to next tab keymap.set( "n", "tp", ":tabp" ) -- go to prev tab -- diagnostic warning/error navigation keymap.set( "n", "g[", vim.diagnostic.goto_prev) keymap.set( "n", "g]", vim.diagnostic.goto_next) -- keymap.set( "n", ",", "*" ) -- due to HUN keybard, the * hard to access: -- ---------------------------------------------------------------------------- -- Insert mode -- ---------------------------------------------------------------------------- keymap.set("i", "jk", "") -- ---------------------------------------------------------------------------- -- Visual mode -- ---------------------------------------------------------------------------- -- Stay in indent mode keymap.set("v", "<", "", ">gv") -- Visual Block -- keymap.set("v", "", ":m .+1==") keymap.set("v", "", ":m .-2==") keymap.set("v", "p", '"_dP') -- Move text up and down keymap.set( "x", "J", ":move '>+1gv-gv") keymap.set( "x", "K", ":move '<-2gv-gv") keymap.set( "x", "", ":move '>+1gv-gv") keymap.set( "x", "", ":move '<-2gv-gv") -- Terminal -- -- Better terminal navigation keymap.set( "t", "", "h") keymap.set( "t", "", "j") keymap.set( "t", "", "k") keymap.set( "t", "", "l") keymap.set("n", "nh", ":nohl") keymap.set("n", "x", '"_x"') keymap.set("n", "", ":tabn") -- go to next tab keymap.set("n", "", ":tabp") -- go to prev tab -- plugin keymaps -- nvim-tree keymap.set("n", "e", ":NvimTreeToggle") -- telescope --keymap.set("n", "ff", ":Telescope find_files" ) keymap.set("n", "ff", ":Files" ) keymap.set("n", "fs", ":Telescope live_grep" ) keymap.set("n", "fg", ":Rg") keymap.set("n", "fb", ":Telescope buffers" ) keymap.set("n", "fh", ":Telescope help_tags" ) keymap.set("n", "x", "lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))") keymap.set("n", "", "Telescope live_grep")