How do I display a single shared status line at the bottom of Neovim instead of one per split window?
Answer
:set laststatus=3
Explanation
Neovim 0.7 introduced laststatus=3, which creates a global statusline shared across all windows. Instead of each split showing its own statusline, there is exactly one statusline at the very bottom of the editor. This saves a line of vertical space per split and eliminates the visual noise of multiple repeated status bars when working with many splits.
How it works
:set laststatus=3— global statusline (Neovim 0.7+):set laststatus=2— per-window statusline, always shown (classic default):set laststatus=1— statusline only when there are two or more windows:set laststatus=0— never show a statusline
Example
Without the global statusline, opening three horizontal splits shows three separate statuslines stacked vertically, consuming three rows. With :set laststatus=3, only one statusline appears regardless of how many splits are open.
To apply permanently in your Neovim config:
" init.vim
set laststatus=3
-- init.lua
vim.opt.laststatus = 3
Tips
- The inactive windows in a
laststatus=3setup will show the window separator without their own statusline - Pair with
:set winbar=%fto show the filename in a per-window title bar, since there is no longer a per-window statusline - This setting only works in Neovim 0.7+; Vim does not support value
3 - Status line plugins like
lualine.nvimandlightline.vimalso supportlaststatus=3natively