-- Keymaps vim.keymap.set('n', '', 'nohlsearch') vim.keymap.set('n', 'w', ':w', { desc = 'Save File' }) vim.keymap.set('n', 'pv', ':Ex', { desc = 'Go back to Dir' }) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) -- Disable arrow keys 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!!"') -- Window navigation 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' }) -- Auto-close brackets vim.keymap.set('i', '(', '()') vim.keymap.set('i', '[', '[]') vim.keymap.set('i', '{', '{}') vim.keymap.set('i', '"', '""') vim.keymap.set('i', "'", "''") -- Smart enter for brackets vim.keymap.set('i', '', function() local line = vim.api.nvim_get_current_line() local col = vim.api.nvim_win_get_cursor(0)[2] local before = line:sub(col, col) local after = line:sub(col + 1, col + 1) if (before == '{' and after == '}') or (before == '[' and after == ']') or (before == '(' and after == ')') then return '' else return '' end end, { expr = true })