* 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>")
 | 
					keymap("n", "Q", "<nop>")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Bufdelete.vim
 | 
					-- Bufdelete.vim
 | 
				
			||||||
keymap("n", "<leader>bd", ":Bdelete<CR>", {desc = "[B]uffer [D]elete"})
 | 
					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>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"}, {
 | 
					vim.api.nvim_create_autocmd({"QuitPre"}, {
 | 
				
			||||||
    callback = function() vim.cmd("NvimTreeClose") end,
 | 
					    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',
 | 
					  'fatih/vim-go',
 | 
				
			||||||
  'mbbill/undotree',
 | 
					  'mbbill/undotree',
 | 
				
			||||||
  'famiu/bufdelete.nvim',
 | 
					  'famiu/bufdelete.nvim',
 | 
				
			||||||
 | 
					  'ThePrimeagen/harpoon'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,8 +7,8 @@ return {
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        config = function()
 | 
					        config = function()
 | 
				
			||||||
            require("nvim-tree").setup {
 | 
					            require("nvim-tree").setup {
 | 
				
			||||||
                filters = { custom = { "^.git$" } }
 | 
					                filters = { custom = { "^.git$" } },
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        end,
 | 
					        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