-- [[ Basic Keymaps ]] -- See `:help vim.keymap.set()` -- 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' }) -- [[ JMB Begin ]] -- Save all buffer vim.keymap.set('n', 'wa', ':wall', { noremap = true, desc = '[W]rite [A]ll' }) vim.keymap.set('n', 'wf', ':w', { noremap = true, desc = '[W]rite [F]ile' }) -- Create command do save with qw vim.api.nvim_command 'cmap qw wq' vim.api.nvim_command 'cmap WQ wq' vim.api.nvim_command 'cmap QW wq' -- Navigate buffers vim.keymap.set('n', '', ':bp', { noremap = true, desc = '[G]oto [P]revious Buffer' }) vim.keymap.set('n', '', ':bn', { noremap = true, desc = '[G]oto [N]ext Buffer' }) -- terraform configuration local opts = { noremap = true, silent = true } vim.keymap.set('n', 'ti', ':!make init', opts) vim.keymap.set('n', 'tv', ':!make validate', opts) vim.keymap.set('n', 'tp', ':!make plan', opts) vim.keymap.set('n', 'taa', ':!make applyA', opts) -- [[ JMB End ]] -- Better copy-paste between vim and system clipboard vim.api.nvim_set_keymap('v', '', '"+y', { noremap = true, silent = true, desc = 'Copy to system clipboard' }) vim.api.nvim_set_keymap('n', '', '"+p', { noremap = true, silent = true, desc = 'Paste from system clipboard' }) vim.api.nvim_set_keymap('i', '', '+', { noremap = true, silent = true, desc = 'Paste from system clipboard in insert mode' })