--/lua/keybinds.lua -- This file defines all of the kybinds for nvim. -- Add these lines at the very top of your keymaps file vim.cmd('silent! unmapclear') -- Clears Normal, Visual, Select, and Operator-pending maps vim.cmd('silent! cmapclear') -- Clears Command-line maps vim.cmd('silent! imapclear') -- Clears Insert maps vim.cmd('silent! tmapclear') -- Clears Terminal maps -- ========================================== -- Define your current keymaps below this line -- ========================================== vim.keymap.set('n', 'w', ':w') package.loaded["custom-functions"] = nil local utils = require("custom-functions") -- move betwwen buffer easier vim.keymap.set('n','' ,':bnext') vim.keymap.set('n','' ,':bprev') vim.keymap.set('n','x' ,':bdelete') -- resizing pains with resize.lua shortcut vim.keymap.set('n','' ,"lua require('resize').ResizeLeft()") vim.keymap.set('n','' ,"lua require('resize').ResizeRight()") vim.keymap.set('n','' ,"lua require('resize').ResizeUp()") vim.keymap.set('n','' ,"lua require('resize').ResizeDown()") -- terminal interface shortcuts vim.keymap.set('n','' ,'nohlsearch') vim.keymap.set('t','' ,'' ,{ desc = 'Exit terminal mode' }) vim.keymap.set('n','r' ,'TermExec cmd="clear && make"' ,{ desc = '[r]un make in terminal' }) vim.keymap.set('n','l' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command in terminal' }) vim.keymap.set('n','n' ,'ToggleTerm direction=vertical name=compile size=70', { desc = 'open a [n]ew terminal' }) vim.keymap.set('n','t' ,'ToggleTerm' ,{desc = '[T]oggle all terminals'}) vim.keymap.set("n","e" ,"NvimTreeToggle" ,{desc = 'open [E]xplorer'}) -- Diagnostic keymaps vim.keymap.set('n', 'q' ,vim.diagnostic.setloclist ,{ desc = 'Open diagnostic [Q]uickfix list' }) vim.keymap.set("n", "R" ,"source %:echo 'Config reloaded!'" ,{ desc = "[S]ource config file"}) -- 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!!"') -- 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' }) -- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes vim.keymap.set("n","" ,"H" ,{ desc = "Move window to the left" }) vim.keymap.set("n","" ,"L" ,{ desc = "Move window to the right" }) vim.keymap.set("n","" ,"J" ,{ desc = "Move window to the lower" }) vim.keymap.set("n","" ,"K" ,{ desc = "Move window to the upper" }) -- [[ Basic QOL -- vim.keymap.set("n", "a", ":IncRename ", {desc = 'ren[A]me variable under cursor'}) -- PLUGIN KEYBINDS vim.keymap.set({ "n", "v" } ,"aa" ,"CodeCompanionActions" ,{ desc = "CodeCompanion - Actions" }) vim.keymap.set({ "n", "v" } ,"ac" ,"CodeCompanionChat Toggle" ,{ desc = "CodeCompanion - Chat" }) vim.keymap.set({ "n", "v" } ,"ai" ,"CodeCompanion" ,{ desc = "CodeCompanion - Inline" }) vim.keymap.set("v" ,"ad" ,"CodeCompanionChat Add" ,{ desc = "CodeCompanion - Add to Chat" }) -- Expand 'cc' into 'CodeCompanion' in the command line vim.cmd([[cab cc CodeCompanion]]) --spellcheck keybind to toggle on current buffer vim.keymap.set('n',"ze" ,"setlocal spell" ,{ desc = "enable spellecheck on buffer" }) vim.keymap.set('n',"zd" ,"setlocal nospell" ,{ desc = "Disable spellecheck on buffer" }) --Hex Editing vim.keymap.set('n', 'hh' ,'Hex' ,{ desc = 'open [H]ex view of a file' }) --Neogit -- gg bound to UI toggle vim.keymap.set('n', 'gg' ,'Neogit' ,{ desc = 'open Neo[g]it interface' }) vim.keymap.set('n', 'gc' ,'Neogit commit' ,{ desc = 'open Neogit [c]ommit page' }) -- Telecope -- local builtin = require('telescope.builtin') -- vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) -- vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) -- vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) -- vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' })