-- Create keymap function local mapkey = function(mode, key, desc, action, plugin) local keymapper = plugin and require("lz.n").keymap(plugin).set or vim.keymap.set keymapper(mode, key, action, {noremap = true, silent = true, desc = desc}) end -- Set the leader key vim.g.mapleader = " " -- Pickers mapkey("n", "f", "Open file picker", ":Pick files", "mini.pick") mapkey("n", "o", "Open old file picker", ":Pick oldfiles", "mini.pick") mapkey("n", "/", "Open live grep picker", ":Pick grep_live", "mini.pick") mapkey("n", "b", "Open buffer picker", ":Pick buffers", "mini.pick") mapkey("n", "k", "Open colorscheme picker", ":Pick colorschemes", "mini.pick") -- File manager mapkey("n", "e", "Open file manager", ":lua MiniFiles.open()", "mini.files") -- Git mapkey("n", "g", "Manage git", "") mapkey("n", "gg", "Open neogit", ":Neogit", "neogit") mapkey("n", "ga", "Git add", ":Git add %:p", "mini-git") mapkey("n", "gr", "Git remove", ":Git rm %:p", "mini-git") mapkey("n", "gc", "Git commit", ":Git commit", "mini-git") mapkey("n", "gp", "Git pull", ":Git pull", "mini-git") mapkey("n", "gP", "Git push", ":Git push", "mini-git") -- Terminal mapkey("n", "t", "Open terminal", ":botright terminal") -- Really delete mapkey({"n", "v"}, "d", "Really delete", [["_d]]) mapkey({"n", "v"}, "x", "Really delete character", [["_x]]) -- Paste on newline mapkey("n", "p", "Paste on newline", ":pu") -- Visual Movement Keys mapkey({"n", "v"}, "j", "Go down visually", "gj") mapkey({"n", "v"}, "k", "Go up visually", "gk") mapkey({"n", "v"}, "", "Go down visually", "gj") mapkey({"n", "v"}, "", "Go up visually", "gk") -- QOL Keys mapkey("t", "", "Exit terminal insert mode", "") vim.keymap.set("c", "", function() if vim.fn.pumvisible() == 1 then return '' end return '' end, { expr = true }) -- Make enter complete command. mapkey("n", "", "Clear highlights", ":noh") -- Make esc clear highlights