Shortcut to delete hidden buffers
This commit is contained in:
@@ -38,5 +38,18 @@ vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower win
|
|||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
||||||
|
|
||||||
-- buffer management
|
-- buffer management
|
||||||
vim.keymap.set('n', '<leader>cc', ':bp<bar>sp<bar>bn<bar>bd<CR>', { desc = '[C]lose [c]urrent buffer' })
|
vim.keymap.set('n', '<leader>cc', ':bp<bar>sp<bar>bn<bar>bd<CR>', { desc = '[C]lose [C]urrent buffer' })
|
||||||
vim.keymap.set('n', '<leader>co', ':wa<bar>%bd<bar>e#<bar>bd#<CR>', { desc = '[C]lose [o]ther buffers' })
|
vim.keymap.set('n', '<leader>ch', function()
|
||||||
|
local bufinfos = vim.fn.getbufinfo { buflisted = 1 }
|
||||||
|
local skipCount = 0
|
||||||
|
local deleteCount = 0
|
||||||
|
vim.tbl_map(function(bufinfo)
|
||||||
|
if bufinfo.changed == 1 then
|
||||||
|
skipCount = skipCount + 1
|
||||||
|
elseif not bufinfo.windows or #bufinfo.windows == 0 then
|
||||||
|
deleteCount = deleteCount + 1
|
||||||
|
vim.api.nvim_buf_delete(bufinfo.bufnr, { force = false, unload = false })
|
||||||
|
end
|
||||||
|
print(('Deleted %d out of %d hidden buffers'):format(deleteCount, deleteCount + skipCount))
|
||||||
|
end, bufinfos)
|
||||||
|
end, { desc = '[C]lose [H]idden buffers' })
|
||||||
|
|||||||
Reference in New Issue
Block a user