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 -- 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") -- 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" }) -- Quickfix -- keymap('n', "", "cnextzz") -- keymap('n', "", "cprevzz") -- keymap('n', "k", "lnextzz") -- keymap('n', "j", "lprevzz") -- Open folder in workspace in tmux session keymap("n", "op", "silent !tmux neww tmux-sessionizer", { desc = "[O]pen [P]roject" }) -- 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" }) -- Vim Be Good keymap("n", "vbg", ":VimBeGood", { desc = "[V]im [B]e [G]ood" })