* feat(harpoon.lua): add keymaps for navigating between files and toggling quick menu
* feat(keymaps.lua): add keymap for deleting all buffers except current * feat(nvim-tree.lua): add autocmd to go to last used hidden buffer when deleting a buffer * chore(init.lua): add ThePrimeagen/harpoon plugin to the list of plugins * chore(nvim-tree.lua): add missing comma in filters table * feat(surround.lua): add kylechui/nvim-surround plugin configuration
This commit is contained in:
		
							parent
							
								
									5c8fa11c53
								
							
						
					
					
						commit
						431b1bf351
					
				| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
local mark = require("harpoon.mark")
 | 
			
		||||
local ui = require("harpoon.ui")
 | 
			
		||||
 | 
			
		||||
vim.keymap.set("n", "<leader>ha", mark.add_file)
 | 
			
		||||
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
 | 
			
		||||
 | 
			
		||||
vim.keymap.set("n", "<leader>hn", function() ui.nav_next() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hp", function() ui.nav_prev() end)
 | 
			
		||||
| 
						 | 
				
			
			@ -62,5 +62,8 @@ keymap("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true, desc = "Make [
 | 
			
		|||
keymap("n", "Q", "<nop>")
 | 
			
		||||
 | 
			
		||||
-- Bufdelete.vim
 | 
			
		||||
keymap("n", "<leader>bd", ":Bdelete<CR>", {desc = "[B]uffer [D]elete"})
 | 
			
		||||
keymap("n", "<leader>bw", ":Bwipeout<CR>", {desc = "[B]uffer [W]ipeout"})
 | 
			
		||||
keymap("n", "<leader>bd", ":Bdelete<CR>", { desc = "[B]uffer [D]elete" })
 | 
			
		||||
keymap("n", "<leader>bw", ":Bwipeout<CR>", { desc = "[B]uffer [W]ipeout" })
 | 
			
		||||
 | 
			
		||||
-- Delete buffer except current
 | 
			
		||||
keymap("n", "<leader>be", ":%bd|e#|bd#<CR>", { silent = true, desc = "[B]uffer Delete [E]xcept" })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,3 +21,23 @@ end
 | 
			
		|||
vim.api.nvim_create_autocmd({"QuitPre"}, {
 | 
			
		||||
    callback = function() vim.cmd("NvimTreeClose") end,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Go to last used hidden buffer when deleting a buffer
 | 
			
		||||
vim.api.nvim_create_autocmd("BufEnter", {
 | 
			
		||||
  nested = true,
 | 
			
		||||
  callback = function()
 | 
			
		||||
    -- Only 1 window with nvim-tree left: we probably closed a file buffer
 | 
			
		||||
    if #vim.api.nvim_list_wins() == 1 and require("nvim-tree.utils").is_nvim_tree_buf() then
 | 
			
		||||
      local api = require('nvim-tree.api')
 | 
			
		||||
      -- Required to let the close event complete. An error is thrown without this.
 | 
			
		||||
      vim.defer_fn(function()
 | 
			
		||||
        -- close nvim-tree: will go to the last hidden buffer used before closing
 | 
			
		||||
        api.tree.toggle({find_file = true, focus = true})
 | 
			
		||||
        -- re-open nivm-tree
 | 
			
		||||
        api.tree.toggle({find_file = true, focus = true})
 | 
			
		||||
        -- nvim-tree is still the active window. Go to the previous window.
 | 
			
		||||
        vim.cmd("wincmd p")
 | 
			
		||||
      end, 0)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,4 +6,5 @@ return {
 | 
			
		|||
  'fatih/vim-go',
 | 
			
		||||
  'mbbill/undotree',
 | 
			
		||||
  'famiu/bufdelete.nvim',
 | 
			
		||||
  'ThePrimeagen/harpoon'
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@ return {
 | 
			
		|||
        },
 | 
			
		||||
        config = function()
 | 
			
		||||
            require("nvim-tree").setup {
 | 
			
		||||
                filters = { custom = { "^.git$" } }
 | 
			
		||||
                filters = { custom = { "^.git$" } },
 | 
			
		||||
            }
 | 
			
		||||
        end,
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
return {
 | 
			
		||||
    "kylechui/nvim-surround",
 | 
			
		||||
    version = "*", -- Use for stability; omit to use `main` branch for the latest features
 | 
			
		||||
    event = "VeryLazy",
 | 
			
		||||
    config = function()
 | 
			
		||||
        require("nvim-surround").setup({
 | 
			
		||||
            -- Configuration here, or leave empty to use defaults
 | 
			
		||||
        })
 | 
			
		||||
    end
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue