Bmessages.Demo.mp4
- Auto-updating Buffers:
:Bmessages
automatically updates the messages buffer. - Customizable Split Types: Choose between horizontal (
split
) and vertical (vsplit
) split types for displaying the messages buffer. - Resizable Splits: Easily configure the size of the message buffer split, both for vertical and horizontal layouts.
- Improved Usability: The buffer behaves like any standard Neovim buffer, allowing for easier navigation and interaction.
- Autoscroll Option: Automatically scroll to the latest message useful when debugging enabled by default.
Add bmessages
to your Neovim configuration using your preferred package manager.
With lazy.nvim
Click to expand/collapse
{
"ariel-frischer/bmessages.nvim",
event = "CmdlineEnter",
opts = {}
}
With packer.nvim
Click to expand/collapse
use({
"ariel-frischer/bmessages.nvim",
config = function()
require("bmessages").setup({
-- config here or empty for defaults
})
end,
})
With vim-plug
Click to expand/collapse
Plug 'ariel-frischer/bmessages.nvim'
" ... other plugins...
" after plug#end()
" provide `setup()` configuration options or leave empty for defaults
lua require('bmessages').setup()
With pckr.nvim
Click to expand/collapse
{ "ariel-frischer/bmessages.nvim",
config = function()
require("bmessages").setup({
-- config here or empty for defaults
})
end,
};
Given options are the default values.
local opts = {
-- Time in milliseconds between each update of the messages buffer.
timer_interval = 1000,
-- Default split type for the messages buffer ('vsplit' or 'split').
split_type = "vsplit",
-- Default split direction for the messages buffer ('topleft' or 'botright').
split_direction = nil,
-- Size of the vertical split when opening the messages buffer.
split_size_vsplit = nil,
-- Size of the horizontal split when opening the messages buffer.
split_size_split = nil,
-- Automatically scroll to the latest message in the buffer.
autoscroll = true,
-- Use a timer to auto-update the messages buffer. When this is disabled,
-- the buffer will not update, but the buffer becomes modifiable.
use_timer = true,
-- Name of the messages buffer.
buffer_name = "bmessages_buffer",
-- Don't add user commands for `Bmessages`, `Bmessagesvs`, and `Bmessagessp`.
disable_create_user_commands = false,
-- Don't focus the bmessages window after opening.
keep_focus = false,
}
Creates a message buffer with the configured options.
Creates a message buffer with a vertical split, overriding the split_type
to vsplit
.
Creates a message buffer with a horizontal split, overriding the split_type
to split
.
Creates an editable message buffer with the configured options without auto updating.
require("bmessages").toggle({ split_type = "split" })
No keymaps are set by default, but you can easily set your own keymaps to open the messages buffer.
vim.api.nvim_set_keymap("n", "<leader>bm", ":Bmessages<CR>", { noremap = true, silent = true })