---@diagnostic disable: redefined-local local function map(mode, keys, func, desc, silent) local silent = silent == nil and true or silent vim.keymap.set(mode, keys, func, {desc = desc, silent = silent}) end -- Movement between windows map('n', 'h', function() vim.cmd.wincmd('h') end, "Window Left") map('n', 'j', function() vim.cmd.wincmd('j') end, "Window Down") map('n', 'k', function() vim.cmd.wincmd('k') end, "Window Up") map('n', 'l', function() vim.cmd.wincmd('l') end, "Window Right") -- Buffer hotkeys map('n', '1', function() vim.cmd.BufferLineGoToBuffer(1) end, 'Tab 1') map('n', '2', function() vim.cmd.BufferLineGoToBuffer(2) end, 'Tab 2') map('n', '3', function() vim.cmd.BufferLineGoToBuffer(3) end, 'Tab 3') map('n', '4', function() vim.cmd.BufferLineGoToBuffer(4) end, 'Tab 4') map('n', '5', function() vim.cmd.BufferLineGoToBuffer(5) end, 'Tab 5') map('n', '6', function() vim.cmd.BufferLineGoToBuffer(6) end, 'Tab 6') map('n', '7', function() vim.cmd.BufferLineGoToBuffer(7) end, 'Tab 7') map('n', '8', function() vim.cmd.BufferLineGoToBuffer(8) end, 'Tab 8') map('n', '9', function() vim.cmd.BufferLineGoToBuffer(9) end, 'Tab 9') map('n', 'tt', vim.cmd.NvimTreeToggle, '[T]oggle file [T]ree') map('n', 'tg', vim.cmd.Neogit, '[T]oggle [G]it view') map('n', 'tu', require('undotree').toggle, '[T]oggle [U]ndo tree') map('n', '[d', vim.diagnostic.goto_prev, 'Goto Previous Diagnostic') map('n', ']d', vim.diagnostic.goto_next, 'Goto Next Diagnostic') map('n', 'e', vim.diagnostic.open_float, 'Show [E]rrors') map('n', 'q', vim.diagnostic.setloclist, 'Errors to [Q]uickfix') map('n', '?', require('telescope.builtin').oldfiles, '[?] Find recently opened files') map('n', '', require('telescope.builtin').buffers, '[ ] Find existing buffers') map('n', 'sf', require('telescope.builtin').find_files, '[S]earch [F]iles') map('n', 'sh', require('telescope.builtin').help_tags, '[S]earch [H]elp') map('n', 'sw', require('telescope.builtin').grep_string, '[S]earch current [W]ord') map('n', 'sg', require('telescope.builtin').live_grep, '[S]earch by [G]rep') map('n', 'sd', require('telescope.builtin').diagnostics, '[S]earch [D]iagnostics') map({'n', 't'}, '', require("FTerm").toggle, 'Toggle Terminal')