vim.keymap.set('n', '', ':', { noremap = true, silent = false }) vim.keymap.set('n', '', ':bprevious', { noremap = true, silent = true }) vim.keymap.set('n', '', 'zz', { noremap = true, silent = true }) vim.keymap.set('n', '', 'zz', { noremap = true, silent = true }) vim.keymap.set('n', '', 'zz', { noremap = true, silent = true }) vim.keymap.set('n', '', 'zz', { noremap = true, silent = true }) vim.keymap.set('n', '', ':bnext', { noremap = true, silent = true }) vim.keymap.set('n', '', 'h', { noremap = true, silent = false }) vim.keymap.set('n', '', 'j', { noremap = true, silent = false }) vim.keymap.set('n', '', 'k', { noremap = true, silent = false }) vim.keymap.set('n', '', 'l', { noremap = true, silent = false }) vim.keymap.set('n', '', 'o', { noremap = true, silent = false }) vim.keymap.set('n', '', 'q', { noremap = true, silent = false }) vim.keymap.set('n', '*', '*zz', { noremap = true, silent = false }) vim.keymap.set('i', '', 'pumvisible() ? "" : ""', { expr = true }) vim.keymap.set('i', '', 'pumvisible() ? "" : ""', { expr = true }) vim.keymap.set('i', '', 'pumvisible() ? asyncomplete#close_popup() : "\\"', { expr = true }) vim.keymap.set('n', '', vim.cmd.NvimTreeToggle, { noremap = true, silent = true }) vim.keymap.set('n', '', ':make-j5', { noremap = true, silent = false }) vim.keymap.set('n', '', vim.cmd.TroubleToggle, { noremap = true, silent = true }) vim.keymap.set('n', '', vim.cmd.UndotreeToggle, { noremap = true, silent = true }) vim.g.floaterm_keymap_toggle = '' vim.g.floaterm_keymap_prev = '' vim.g.floaterm_keymap_next = '' vim.keymap.set('v', 'J', ":m '>+1gv=gv") vim.keymap.set('v', 'K', ":m '<-2gv=gv") vim.keymap.set('x', 'p', "\"_dP") vim.keymap.set('n', 'Q', '') vim.keymap.set('n', '', vim.cmd.nohlsearch, { noremap = true, silent = true }) local ts = require('telescope.builtin') require('telescope').load_extension('harpoon') local harpoon = require('harpoon') harpoon:setup() vim.keymap.set('n', '', function() harpoon:list():select(1) end) vim.keymap.set('n', '', function() harpoon:list():select(2) end) vim.keymap.set('n', '', function() harpoon:list():select(3) end) vim.keymap.set('n', '', function() harpoon:list():select(4) end) -- normal vim.keymap.set('n', 'd', ':bn|:bd#', { noremap = true, silent = true }) vim.keymap.set('n', 'D', '"-ddk:put = strftime(\' * %a %b %d %T %Y\')', { noremap = true, silent = true }) vim.keymap.set('n', 'k', ':w:bp:bd #', { noremap = true, silent = true }) vim.keymap.set('n', 'u', vim.cmd.UndotreeToggle, { noremap = true, silent = true }) vim.keymap.set('n', 'u', ':w', { noremap = true, silent = true }) -- harpoon vim.keymap.set('n', 'aa', function() harpoon:list():append() end, { noremap = true, silent = true }) vim.keymap.set('n', 'ae', function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { noremap = true, silent = true }) vim.keymap.set('n', 'af', ':Telescope harpoon marks', { noremap = true, silent = true }) -- trouble vim.keymap.set('n', 'xx', vim.cmd.TroubleToggle, { noremap = true, silent = true }) vim.keymap.set('n', 'xw', ':TroubleToggle workspace_diagnostics', { noremap = true, silent = true }) vim.keymap.set('n', 'xd', ':TroubleToggle document_diagnostics', { noremap = true, silent = true }) vim.keymap.set('n', 'xl', ':TroubleToggle loclist', { noremap = true, silent = true }) vim.keymap.set('n', 'xq', ':TroubleToggle quickfix', { noremap = true, silent = true }) vim.keymap.set('n', 'xs', ':TroubleToggle lsp_references', { noremap = true, silent = true }) -- telescope vim.keymap.set('n', 'fb', ts.buffers, { noremap = true, silent = true }) vim.keymap.set('n', 'fd', ts.diagnostics, { noremap = true, silent = true }) vim.keymap.set('n', 'fe', ':Telescope harpoon marks', { noremap = true, silent = true }) vim.keymap.set('n', 'ff', ts.find_files, { noremap = true, silent = true }) vim.keymap.set('n', 'fs', ts.live_grep, { noremap = true, silent = true }) vim.keymap.set('n', 'fg', function() ts.grep_string({ search = vim.fn.input("Grep > ") }) end, { noremap = true, silent = true }) vim.keymap.set('n', 'ft', ':TodoTelescope keywords=TODO,HACK,WARN,PERF,NOTE,TEST,FIX', { noremap = true, silent = true }) -- neovim vim.keymap.set('n', 'vu', vim.cmd.PackerSync, { noremap = true, silent = true }) vim.keymap.set('n', 'vv', vim.cmd.Ex, { noremap = true, silent = true })