-- Keymap function. local mapkey = Utils.mapkey -- Map the leader key. vim.g.mapleader = ' ' -- Pickers mapkey("n", "f", "Open file picker", ":lua Snacks.picker.files()") mapkey("n", "l", "Open recent file picker", ":lua Snacks.picker.recent()") mapkey("n", "b", "Open buffer picker", ":lua Snacks.picker.buffers()") mapkey("n", "B", "Open buffer live grep picker", ":lua Snacks.picker.grep_buffers()") mapkey("n", "y", "Open clipboard history picker", ":lua Snacks.picker.cliphist()") mapkey("n", "/", "Open live grep picker", ":lua Snacks.picker.grep()") mapkey("n", "\\", "Open command palette", ":lua Snacks.picker.commands()") mapkey("n", "?", "Open help picker", ":lua Snacks.picker.help()") mapkey("n", "p", "Open picker picker", ":lua Snacks.picker.pickers()") mapkey("n", "'", "Open last picker", ":lua Snacks.picker.resume()") mapkey("n", "", "Open smart picker", ":lua Snacks.picker.smart()") mapkey("n", "z", "Open zoxide picker", ":lua Snacks.picker.zoxide()") -- Tabs mapkey("n", "t", "Manage tabs", "") mapkey("n", "to", "Open new tab", ":tabnew") mapkey("n", "tc", "Close tab", ":tabclose") mapkey("n", "tt", "Go to next tab", ":tabnext") mapkey("n", "tn", "Go to next tab", ":tabnext") mapkey("n", "tp", "Go to previous tab", ":tabprev") mapkey("n", "tr", "Rename current tab", function() vim.ui.input({ prompt = "Rename tab: "}, function(input) if input then vim.cmd.TabRename(input) end end) end) -- Windows mapkey("n", "w", "Manage windows", "") -- Sessions mapkey("n", "m", "Manage sessions", "") mapkey("n", "mm", "Open session picker", ":Autosession search") mapkey("n", "md", "Delete a session", ":Autosession delete") -- Terminals mapkey("n", "c", "Manage terminals", "") -- Git mapkey("n", "g", "Open lazygit", ":lua Snacks.lazygit()") -- Other leader keys mapkey("n", "e", "Open file manager", ":lua MiniFiles.open()") -- 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 mapkey("n", "q", "Close buffer", ":bd") mapkey("n", "Q", "Force close buffer", ":bd!") -- Really delete mapkey({"n", "v"}, "d", "Really delete", [["_d]]) mapkey({"n", "v"}, "x", "Really delete character", [["_x]]) -- Visual Movement Keys. -- mapkey({"n", "v"}, "j", "Go down visually", "gj") -- mapkey({"n", "v"}, "k", "Go up visually", "gk") -- Learn hjkl. -- mapkey({"n", "v"}, "", "Correct the keypress", function() print("Try pressing h instead.") end) -- mapkey({"n", "v"}, "", "Correct the keypress", function() print("Try pressing j instead.") end) -- mapkey({"n", "v"}, "", "Correct the keypress", function() print("Try pressing k instead.") end) -- mapkey({"n", "v"}, "", "Correct the keypress", function() print("Try pressing l instead.") end)