-- Keymap function. local mapkey = utils.mapkey -- Map the leader key. vim.g.mapleader = ' ' -- Pickers mapkey("n", "f", "Open file picker", Snacks.picker.files) mapkey("n", "c", "Open recent file picker", Snacks.picker.recent) mapkey("n", "e", "Open file explorer", Snacks.picker.explorer) mapkey("n", "b", "Open buffer picker", Snacks.picker.buffers) mapkey("n", "B", "Open buffer live grep picker", Snacks.picker.grep_buffers) mapkey("n", "y", "Open clipboard history picker", Snacks.picker.cliphist) mapkey("n", "/", "Open live grep picker", Snacks.picker.grep) mapkey("n", "\\", "Open command palette", Snacks.picker.commands) mapkey("n", "?", "Open help picker", Snacks.picker.help) mapkey("n", "p", "Open picker picker", Snacks.picker.pickers) mapkey("n", "'", "Open last picker", Snacks.picker.resume) -- Commenting. mapkey("n", "", "Comment line", ":norm gcc") mapkey("v", "", "Comment line", ":norm gc") -- Tabs mapkey("n", "t", "Manage tabs", "") mapkey("n", "tt", "Open new tab", ":tabnew") mapkey("n", "tq", "Close tab", ":tabclose") mapkey("n", "tn", "Go to next tab", ":tabnext") mapkey("n", "tp", "Go to previous tab", ":tabprev") -- Sessions mapkey("n", "s", "Manage sessions", "") mapkey("n", "ss", "Open session picker", ":SessionSelect", "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 -- 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)