- Notifications
You must be signed in to change notification settings - Fork29
Make your nvim window separators colorful
License
nvim-zh/colorful-winsep.nvim
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
configurable window separator
2025-08-09.20-05-22.mp4
Currently in Neovim, we can not make the active window distinguishable via the window separator.This plugin will color the border of active window, like what tmux does for its different panes.
- Neovim 0.11.3+
- Nerd Fonts
Using vim-plug:
Plug'nvim-zh/colorful-winsep.nvim'
Using Packer.nvim:
use {"nvim-zh/colorful-winsep.nvim",config=function ()require('colorful-winsep').setup()end}
Using lazy.nvim
{"nvim-zh/colorful-winsep.nvim",config=true,event= {"WinLeave"},}The following is the default configuration (read the comments carefully if you want to change it):
require("colorful-winsep").setup({-- choose between "single", "rounded", "bold" and "double".-- Or pass a table like this: { "─", "│", "┌", "┐", "└", "┘" },border="bold",excluded_ft= {"packer","TelescopePrompt","mason"},highlight=nil,-- nil|string|function. See the docs's Highlights sectionanimate= {enabled="shift",-- false to disable, or choose a option below (e.g. "shift") and set option for it if neededshift= {delta_time=0.1,smooth_speed=1,delay=3, },progressive= {-- animation's speed for different directionvertical_delay=20,horizontal_delay=2, }, },indicator_for_2wins= {-- only work when the total of windows is twoposition="center",-- false to disable or choose between "center", "start", "end" and "both"symbols= {-- the meaning of left, down ,up, right is the position of separatorstart_left="",end_left="",start_down="",end_down="",start_up="",end_up="",start_right="",end_right="", }, },})
By default, we use theshift animation. If you want to disable it, set theanimate.enabled to false.
Have a look at the top of this README
2025-08-10.14-53-42.mp4
When using the plugin with two windows only, it becomes difficult to discern which window is currently active. With this feature we can identify the active window more easily. To disable it, set theindicator_for_2wins.position to false. Here come the showcases of defaultcenter option:


The user command of the plugin isWinsep, and here comes the subcommands of it:
| subcommand | function |
|---|---|
| enable | enable the plugin |
| disable | disable the plugin |
| toggle | toggle the plugin |
The highlight's name isColorfulWinSep. You can change it using nvim's builtin function or changing the plugin's configuration
If you want to change it through plugin's setup function, you can pass a string or function to thehighlight field. When you pass a string, it will work as the fg, and the bg will be set up the same as "Normal" highlight group's bg automatically (see:h hl-Normal). When you pass a function, the function will be called when the plugin runs and every time the color scheme is changed.
By default, the configuration'shighlight field isnil. This means the plugin will do nothing if you set the highlight group before it loads. Otherwise, the highlight is set to#957CC6. This is useful if you use your color scheme plugin (like catppuccin) to control highlights.
This plugin is released under theMIT License.
About
Make your nvim window separators colorful
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.