Send buffers into early retirement by automatically closing them after x minutes of inactivity.
Makes the bufferline or :bnext
less crowded.
-- packer
use {
"chrisgrieser/nvim-early-retirement",
config = function () require("early-retirement").setup() end,
}
-- lazy.nvim
{
"chrisgrieser/nvim-early-retirement",
config = true,
event = "VeryLazy",
},
defaultOpts = {
-- If a buffer has been inactive for this many minutes, close it.
retirementAgeMins = 20,
-- Filetypes to ignore.
ignoredFiletypes = {},
-- Ignore files matching this lua pattern; empty string disables this setting.
ignoreFilenamePattern = "",
-- Will not close the alternate file.
ignoreAltFile = true,
-- Minimum number of open buffers for auto-closing to become active. E.g.,
-- by setting this to 4, no auto-closing will take place when you have 3
-- or fewer open buffers. Note that this plugin never closes the currently
-- active buffer, so a number < 2 will effectively disable this setting.
minimumBufferNum = 1,
-- Ignore buffers with unsaved changes. If false, the buffers will
-- automatically be written and then closed.
ignoreUnsavedChangesBufs = true,
-- Ignore non-empty buftypes, for example terminal buffers
ignoreSpecialBuftypes = true,
-- Ignore visible buffers. Buffers that are open in a window or in a tab
-- are considered visible by vim. ("a" in `:buffers`)
ignoreVisibleBufs = true,
-- ignore unloaded buffers. Session-management plugin often add buffers
-- to the buffer list without loading them.
ignoreUnloadedBufs = false,
-- Show notification on closing. Works with plugins like nvim-notify.
notificationOnAutoClose = false,
-- When a file is deleted, for example via an external program, delete the
-- associated buffer as well. Requires Neovim >= 0.10.
-- (This feature is independent from the automatic closing)
deleteBufferWhenFileDeleted = false,
}
Note
You can also have nvim-early-retirement
ignore certain buffers by setting
vim.b.ignore_early_retirement = true
.
- Close unedited files: hbac
Thanks
To @nikfp
and @xorg-dogma
on Discord for their help.
About Me
In my day job, I am a sociologist studying the social mechanisms underlying the
digital economy. For my PhD project, I investigate the governance of the app
economy and how software ecosystems manage the tension between innovation and
compatibility. If you are interested in this subject, feel free to get in touch.
Blog
I also occasionally blog about vim: Nano Tips for Vim
Profiles