Awesome
neoline.vim ✅
IMPORTANT: Requires Neovim Nightly
A light statusline/tabline plugin for Neovim using Lua.
Using neoline.vim with material dark theme, vim-emoji-icon-theme, petertriho/nvim-scrollbar, hrsh7th/nvim-cmp and nvim-neo-tree/neo-tree.nvim:
<img width="782" src="https://user-images.githubusercontent.com/430272/187047082-bbf75b86-8660-47b6-8005-d45ad207c254.png">Installation 🧙
Lazy
Add the following lines on the NeoVim config file (Lua):
require('lazy').setup({
{
'adelarsq/neoline.vim'
},
}, {})
Plug
Add the following lines on the Vim/NeoVim config file:
Plug 'adelarsq/neoline.vim'
Then open the editor and install with PlugInstall
.
Dein
Add the following lines on the Vim/NeoVim config file:
call dein#add('adelarsq/neoline.vim')
Then open the editor and install with call dein#install()
.
Packer
use 'adelarsq/neoline.vim'
Features ⚙️
- Mode detection
- Status line color
- Current tab color
- CursorLineNr and LineNr
- Plugins support
- Icons and themes:
- Dev experience:
- File tree:
- preservim/nerdtree
- Show cwd path
- Trim cwd path
- ms-jpq/chadtree
- Show cwd path
- Trim cwd path
- kyazdani42/nvim-tree.lua
- Show cwd path
- Trim cwd path
- nvim-neo-tree/neo-tree.nvim
- Show cwd path
- Trim cwd path
- preservim/nerdtree
- VCS:
- Database:
- Start window:
- Plugin manager:
- Debug:
- mfussenegger/nvim-dap
- rcarriga/nvim-dap-ui - show controls on tabline.
- mfussenegger/nvim-dap
- Distraction free:
- Languages:
- Diagnostics:
- Scrollbar:
- Code runner:
- Reference 3
- Operating Systems
- MS Windows
- macOS
- Linux
- Android
- iOS?
- LSP status support
- TreeSitter support
- Support one color per tab
- Line cored based on mode (disabled until dark mode to be supported)
- Animations
- Move all code to Lua
- Work in progress
- Add theme support
- Custom borders
- Detect window size to show the right elements
- Better support for dark themes
- Add hint about position history
- Setting per-filetype 1
- Show LSP diagnostics for the whole workspace
- Use normal mode hightlight on inative tabs/buffers for better UX
- nightly Local (
set laststatus=2
) and global status (set laststatus=3
) line support. Global status has a little better performance than local status on this plugin. - Macro recording status
- Tabline
- Multiple files per tab
- One file per tab
Options ✅
Disabling the statusline:
vim.g.neoline_disable_statusline=1
-- or with VimScript
set g:neoline_disable_statusline=1
Disabling the tabline:
vim.g.neoline_disable_tabline=1
-- or with VimScript
set g:neoline_disable_tabline=1
Disabling current scope on the status line:
vim.g.neoline_disable_current_scope = 1
-- or with VimScript
set g:neoline_disable_current_scope = 1
Others 🦕
- bubbly.nvim
- galaxyline.nvim
- konapun/vacuumline.nvim
- lightline.vim
- lualine.nvim
- nvim-bufferline.lua
- nvim-hardline
- onestatus
- staline.nvim
- vim-airline
- windwp/windline.nvim
Acknowledgments 💡
Thanks goes to these people/projects for inspiration:
- Status line:
- Buffer/Tab line:
License 📜
Self-plug 🔌
If you liked this plugin, also check out:
- vim-emoji-icon-theme - Emoji/Unicode Icons Theme for Vim and Neovim with support for 40+ plugins and 300+ filetypes
- neovcs.vim - VCS support for Neovim