-- Clear highlights on search when pressing in normal mode -- See `:help hlsearch` vim.keymap.set("n", "", "nohlsearch") -- Diagnostic keymaps vim.keymap.set("n", "q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" }) -- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier -- for people to discover. Otherwise, you normally need to press , which -- is not what someone will guess without a bit more experience. -- -- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping -- or just use to exit terminal mode vim.keymap.set("t", "", ":bd!", { desc = "Exit terminal mode", silent = true }) vim.keymap.set("i", "jj", "", { desc = "Exit insert mode", silent = true }) -- TIP: Disable arrow keys in normal mode -- vim.keymap.set('n', '', 'echo "Use h to move!!"') -- vim.keymap.set('n', '', 'echo "Use l to move!!"') -- vim.keymap.set('n', '', 'echo "Use k to move!!"') -- vim.keymap.set('n', '', 'echo "Use j to move!!"') -- Keybinds to make split navigation easier. -- Use CTRL+ to switch between windows -- Vertical navigation vim.keymap.set("n", "", "5j", { desc = "Jump ten spaces down", silent = true }) vim.keymap.set("n", "", "5k", { desc = "Jump ten spaces up", silent = true }) -- Horizontal navigation vim.keymap.set("n", "", "^", { desc = "Jump to start of line", silent = true }) vim.keymap.set("n", "", "$", { desc = "Jump to end of line", silent = true }) -- Telescope vim.keymap.set("n", "ff", ":Telescope find_files", { desc = "Find Files", silent = true }) -- Ex vim.keymap.set("n", "pf", vim.cmd.Ex, { desc = "Open Newr", silent = true }) -- See `:help wincmd` for a list of all window commands vim.keymap.set("n", "", "", { desc = "Move focus to the left window", silent = true }) vim.keymap.set("n", "", "", { desc = "Move focus to the right window", silent = true }) vim.keymap.set("n", "", "", { desc = "Move focus to the lower window", silent = true }) vim.keymap.set("n", "", "", { desc = "Move focus to the upper window", silent = true }) -- Better split keymaps -- vim.keymap.set("n", "v", "v", { desc = "Split window vertically", silent = true }) -- vim.keymap.set("n", "h", "h", { desc = "Split window horizontally", silent = true }) -- Buffers vim.keymap.set("n", "tt", ":tabeditn", { desc = "Create a new tab", silent = true }) vim.keymap.set("n", "te", ":BufferClose!", { desc = "Close current tab", silent = true }) vim.keymap.set("n", "", ":BufferNext", { desc = "Next tab", silent = true }) vim.keymap.set("n", "", ":BufferPrevious", { desc = "Previous tab", silent = true }) vim.keymap.set("n", "tl", ":BufferMoveNext", { desc = "Shift tab right", silent = true }) vim.keymap.set("n", "th", ":BufferMovePrevious", { desc = "Shift tab left", silent = true })