* 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,8 +7,8 @@ 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