-- Remap for dealing with word wrap vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) -- Move to window using the keys vim.keymap.set('n', '', 'h', { desc = 'Switch to left window' }) vim.keymap.set('n', '', 'j', { desc = 'Switch to lower window' }) vim.keymap.set('n', '', 'k', { desc = 'Switch to upper window' }) vim.keymap.set('n', '', 'l', { desc = 'Switch to right window' }) -- Quickfix list vim.keymap.set('n', '[q', vim.cmd.cprev, { desc = 'Previous quickfix item' }) vim.keymap.set('n', ']q', vim.cmd.cnext, { desc = 'Next quickfix item' }) -- Diagnostics vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to prev diagnostic message' }) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) vim.keymap.set('n', 'gl', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) vim.keymap.set('n', 'q', vim.diagnostic.setqflist, { desc = 'Open diagnostic quickfix list' }) -- Nagivation in insert vim.keymap.set({'i', 'c'}, '', '', { desc = "Forward char" }) vim.keymap.set({'i', 'c'}, '', 'gj', { desc = "Up char" }) vim.keymap.set({'i', 'c'}, '', 'gk', { desc = "Down char" }) vim.keymap.set({'i', 'c'}, '', '', { desc = "Backward char" }) -- to exit vim.keymap.set({'i', 'n', 'v', 'c'}, '', '', { desc = "Exit mode" }) vim.cmd('cmap ') -- C-d to delete vim.keymap.set('i', '', '', { desc = "Delete forward char"}) -- Jump forward and back vim.keymap.set('n', '', '$', { desc = "Delete forward char"}) vim.keymap.set('n', '', '_', { desc = "Delete forward char"}) -- Insert at correct tab vim.keymap.set("n", "i", function() local line = vim.api.nvim_get_current_line() if #line == 0 then return [["_cc]] else return "i" end end, { expr = true, noremap = true })