local opts = { noremap = true, silent = true } local term_opts = { silent = true } function keymap(mode, lhs, rhs, opts) local options = { noremap = true } if opts then options = vim.tbl_extend("force", options, opts) end vim.api.nvim_set_keymap(mode, lhs, rhs, options) end vim.cmd [[command ClearBufferExceptCurrent silent! execute "%bd|e#|bd#"]] -- Navigate buffers keymap("n", "", ":bnext", opts) keymap("n", "", ":bprevious", opts) -- Terminal -- Better window navigation keymap("n", "", "h", opts) keymap("n", "", "j", opts) keymap("n", "", "k", opts) keymap("n", "", "l", opts) -- Nvimtree keymap('n', 'n', ":NvimTreeToggle", { silent = true, noremap = true, desc = "Toggle [N]vimtree" }) -- UndoTree keymap('n', 'u', ":UndotreeToggle", { desc = "Toggle [U]ndo tree" }) -- Move line keymap('v', 'J', ":m '>+1gv=gv", { noremap = true }) keymap('v', 'K', ":m '<-2gv=gv", { noremap = true }) -- Search cursor in the middle keymap('n', 'n', "nzzzv") keymap('n', 'N', "Nzzzv") -- replace without copy current selected -- keymap('x', 'p', "\"_dp") keymap("x", "p", [["_dP]]) -- yank to system clipboard keymap('n', 'y', "\"+y", { desc = "[Y]ank to clipboard" }) keymap('v', 'y', "\"+y", { desc = "[Y]ank to clipboard" }) keymap('n', 'Y', "\"+Y", { desc = "[Y]ank to clipboard" }) -- Open folder in workspace in tmux session keymap("n", "op", "silent !tmux neww tmux-sessionizer", { desc = "[O]pen [P]roject" }) -- Search cheat sheet keymap("n", "ch", "silent !tmux neww tmux-cht.sh", { desc = "[C]heat [S]heet" }) -- replace selected word in the file keymap("n", "R", [[:%s/\<\>//gI]], { desc = "[R]eplace words in the file" }) -- Make file executable keymap("n", "x", "!chmod +x %", { silent = true, desc = "Make [X]ecutable file" }) -- Do nothing keymap("n", "Q", "") -- Bufdelete.vim keymap("n", "bd", ":Bdelete", { desc = "[B]uffer [D]elete" }) keymap("n", "bw", ":Bwipeout", { desc = "[B]uffer [W]ipeout" }) -- Delete buffer except current -- keymap("n", "be", ":%bd|e#|bd#", { silent = true, desc = "[B]uffer Delete [E]xcept" }) keymap("n", "be", ":ClearBufferExceptCurrent", { silent = true, desc = "[B]uffer Delete [E]xcept" }) -- Vim Be Good keymap("n", "vbg", ":VimBeGood", { desc = "[V]im [B]e [G]ood" }) -- Update source keymap("n", "", ":so")