Awesome
maximize.nvim
Maximize Neovim windows.
⨠Features
- Toggle maximizing the current window without any ugly borders.
- Has builtin integration for the following plugins:
- aerial.nvim
- nvim-dap-ui
- nvim-tree.lua
đ ī¸ Requirements
- Neovim >= 0.8.0 (use a tagged version for older Neovim versions)
đĻ Installation
Install with your favourite plugin manager and run the setup function.
Packer
use {
'declancm/maximize.nvim',
config = function() require('maximize').setup() end
}
Lazy
return {
'declancm/maximize.nvim',
config = true
}
âšī¸ Usage
Vim Commands
-
Toggle maximizing the current window:
:Maximize
Lua API
-
Toggle maximizing the current window:
require('maximize').toggle()
-
Maximize the current window:
require('maximize').maximize()
-
Restore windows:
require('maximize').restore()
âī¸ Configuration
A settings table can be passed into the setup function for custom options.
Default Options
{
plugins = {
aerial = { enable = true }, -- enable aerial.nvim integration
dapui = { enable = true }, -- enable nvim-dap-ui integration
tree = { enable = true }, -- enable nvim-tree.lua integration
}
}
đ User Events
The following user events are triggered:
- WindowMaximizeStart: before maximizing
- WindowRestoreEnd: after restoring
đĨ statusline & winbar
Use the variable vim.t.maximized
to check whether the tab has a maximized window.
Lualine
local function maximize_status()
return vim.t.maximized and ' ī ' or ''
end
require('lualine').setup {
sections = {
lualine_c = { maximize_status }
}
}
winbar
-- ~/.config/nvim/lua/winbar.lua
local M = {}
M.maximize_status = function()
return vim.t.maximized and ' ī ' or ''
end
return M
-- ~/.config/nvim/init.lua
vim.o.winbar = "%{%v:lua.require('winbar').maximize_status()%}"