local opts = { noremap = true, silent = true } local term_opts = { silent = true } local keymap = vim.api.nvim_set_keymap -- debug keymap("n", "", ':lua require("dap").toggle_breakpoint()', opts) keymap("n", "", ':lua require("dap").step_over()', opts) keymap("n", "", ':lua require("dap").step_into()', opts) keymap("n", "", ':lua require("dapui").toggle() :lua require("dap").continue() ', opts) keymap("n", "", ':lua require("dap").continue()', opts) keymap("n", "", ':lua require("dap").close() :lua require("dapui").toggle()', opts) -- file tree keymap("n", "f", ':lua require("nvim-tree").toggle()', opts) -- toggle terminal keymap('n', '', ':ToggleTerm ZSH', opts) -- tab switching keymap("n", "", ":BufferPrev", opts) keymap("n", "", ":BufferNext", opts) -- formatting keymap("n", "", ":lua vim.lsp.buf.format { async = true }", opts) keymap("n", "a", ":Telescope lsp_definitions", opts) keymap("n", "s", ":Telescope lsp_references", opts) keymap("n", "d", ":Telescope lsp_type_definitions", opts) keymap("n", "f", ":Telescope lsp_implementations", opts) keymap("n", "q", ":lua vim.lsp.buf.code_action()", opts) keymap("n", "w", ":lua vim.lsp.buf.signature_help()", opts) keymap("n", "e", ":lua vim.lsp.buf.hover()", opts) keymap("n", "r", ":lua vim.lsp.buf.rename()", opts) keymap("n", "gq", ":lua require('telescope.builtin').git_commits()", opts) keymap("n", "gw", ":lua require('telescope.builtin').git_bcommits()", opts) keymap("n", "ge", ":lua require('telescope.builtin').git_branches()", opts) keymap("n", "gr", ":lua require('telescope.builtin').git_status()", opts) keymap("n", "ga", ":lua require('telescope.builtin').git_stash()", opts) -- window switching function _G.set_terminal_keymaps() local opts = {buffer = 0} vim.keymap.set('t', '', [[]], opts) vim.keymap.set('t', 'jk', [[]], opts) vim.keymap.set('t', '', [[wincmd h]], opts) vim.keymap.set('t', '', [[wincmd j]], opts) vim.keymap.set('t', '', [[wincmd k]], opts) vim.keymap.set('t', '', [[wincmd l]], opts) end -- if you only want these mappings for toggle term use term://*toggleterm#* instead vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') keymap("n", "", ":wincmd h", opts) keymap("n", "", ":wincmd j", opts) keymap("n", "", ":wincmd k", opts) keymap("n", "", ":wincmd l", opts) -- harpoon man keymap("n", "", ":lua require('harpoon.ui').nav_file(1)", opts) keymap("n", "", ":lua require('harpoon.ui').nav_file(2)", opts) keymap("n", "", ":lua require('harpoon.ui').nav_file(3)", opts) keymap("n", "fma", ":lua require('harpoon.mark').add_file()", opts) keymap("n", "fmd", ":lua require('harpoon.mark').remove_file()", opts) -- telescope keymap("n", "fb", ":Telescope file_browser", {}) keymap("n", "fc", ":Cheatsheet", {}) keymap("n", "ff", ":lua require('telescope.builtin').find_files()", {}) keymap("n", "fg", ":lua require('telescope.builtin').live_grep()", {}) keymap("n", "fh", ":lua require('telescope.builtin').help_tags()", {}) keymap("n", "fp", ":lua require'telescope'.extensions.project.project{}", { noremap = true, silent = true }) keymap("n", "fm", ":Telescope harpoon marks", { noremap = true, silent = true }) vim.keymap.set("n", "z", ":lua require('telescope').extensions.zoxide.list{}") -- trouble keymap("n", "", "TroubleToggle", term_opts) require("trouble").setup({ action_keys = { --remove the fucking stupid keymap amk open_tab = {}, }, })