-- See `:help vim.keymap.set()` -- Personnal Keymaps -- normal mode vim.keymap.set('n', 'e', 'Ex') vim.keymap.set('n', 'ra', ':%s/\\<\\>//gI', { desc = 'Replace the word under the cursor in the file' }) vim.keymap.set('n', 'v', 'vsplit', { desc = 'Vertical split' }) vim.keymap.set('n', 'x', '!chmod +x %', { desc = 'Make the current buffer/file executable' }) vim.keymap.set('n', ';', ':', { desc = 'Replace : by ;' }) vim.keymap.set('n', 'Q', ':noh') vim.keymap.set('n', 'w', ':w') -- insert mode vim.keymap.set('i', '', '') vim.keymap.set('i', '', '') vim.keymap.set('i', '', '') vim.keymap.set('i', '', '') -- while in insert mode, go to the start of line vim.keymap.set('i', '', '^i') -- while in insert mode, go to end of line vim.keymap.set('i', '', '') -- better escape insert mode vim.keymap.set('i', 'jk', '') -- visual mode -- better escape visual mode vim.keymap.set('v', 'sd', '') -- move the highlighted line(s) up and indent if needed vim.keymap.set('v', 'J', ":m '>+1gv=gv", { desc = 'make the selected hightlighted line and go up one line, indent if possible and highlight it again' }) -- move te highlighted line(s) down and indent if needed vim.keymap.set('v', 'K', ":m '<-2gv=gv", { desc = 'make the selected hightlighted line and go down one line, indent if possible and highlight it again' }) -- end personnal keymaps -- 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', '', '', { desc = 'Exit terminal mode' }) -- 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 -- -- See `:help wincmd` for a list of all window commands vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the lower window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the upper window' })