local Remap = require("user.keymap_func") local nnoremap = Remap.nnoremap local vnoremap = Remap.vnoremap local inoremap = Remap.inoremap local xnoremap = Remap.xnoremap local nmap = Remap.nmap -- NvimTree toggle/refresh/findfile nnoremap("", ":NvimTreeToggle") nnoremap("r", ":NvimTreeRefresh") nnoremap("n", ":NvimTreeFindFile") -- debugging local dapui_ok, dapui = pcall(require, "dapui") if dapui_ok then nnoremap('dt', dapui.toggle) -- toggles debug view end local dap_ok, dap = pcall(require, "dap") if dap_ok then nnoremap('db', dap.toggle_breakpoint) nnoremap('dc', dap.continue) end -- Telescope local telescope_status_ok, telescope = pcall(require, "telescope.builtin") if telescope_status_ok then nnoremap("", telescope.find_files) nnoremap("", telescope.live_grep) nnoremap("", telescope.current_buffer_fuzzy_find) end -- Harpoon local harpoon_ok, harpoon = pcall(require, "harpoon") if harpoon_ok then nnoremap("hx", function() harpoon:list():add() end) nnoremap("hn", function() harpoon:list():next() end) nnoremap("hp", function() harpoon:list():prev() end) if telescope_status_ok then -- basic telescope configuration local conf = require("telescope.config").values local function toggle_telescope(harpoon_files) local file_paths = {} for _, item in ipairs(harpoon_files.items) do table.insert(file_paths, item.value) end require("telescope.pickers").new({}, { prompt_title = "Harpoon", finder = require("telescope.finders").new_table({ results = file_paths, }), previewer = conf.file_previewer({}), sorter = conf.generic_sorter({}), }):find() end nnoremap("hh", function() toggle_telescope(harpoon:list()) end, { desc = "Open harpoon window" }) else nnoremap("hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) end end -- Copy to system clipboard vnoremap('y', '"+y') nnoremap('Y', '"+yg_') nnoremap('y', '"+y') nnoremap('yy', '"+yy') -- Paste from system clipboard nnoremap('p', '"+p') nnoremap('P', '"+P') vnoremap('p', '"+p') vnoremap('P', '"+P') -- Easy navigation on split screen nnoremap('', '') nnoremap('', '') nnoremap('', '') nnoremap('', '') -- Wrap in... nnoremap('w"', 'ciw""hp') nnoremap("w'", "ciw''hp") nnoremap('w]', 'ciw[]hp') nnoremap('w[', 'ciw[]hp') nnoremap('w(', 'ciw()hp') nnoremap('w)', 'ciw()hp')