Bubbly 这款状态栏插件,在 Neovim 社区中一直享有不错的口碑。想要顺利配置它,其实只需几个简单步骤——但前提是 packer.nvim 必须事先安装好,否则后续的配置操作将无法正常执行。

安装 packer 本身并不复杂,官方文档提供了详细的步骤。这里假设你已经完成了该步骤,我们直接进入核心教程。
安装 Bubbly.nvim 插件
启动 Neovim 后,首先运行 :PackerSync 以确认 packer 处于正常运行状态。接着,在你的插件配置文件中(例如 ~/.config/nvim/lua/plugins/bubbly.lua)添加以下内容:
use { 'datwaft/bubbly.nvim', config = function() require('bubbly').setup() end }
保存文件后,依次执行 :PackerCompile 和 :PackerSync,等待插件下载并编译完成,安装过程即告结束。
基础配置与启用
接下来创建最小配置。新建 ~/.config/nvim/lua/config/bubbly.lua 文件,写入:
require('bubbly').setup({ statusline = { 'mode', 'truncate', 'path', 'branch', 'filetype' } })
然后在 init.lua 中靠近顶部的位置(在插件加载之后、其他 UI 设置之前)添加 require('config.bubbly')。
此步骤必须重启 Neovim,或执行 :source $MYVIMRC。仅仅重载 Lua 模块是无法生效的,statusline 不会自动刷新。
自定义状态栏内容顺序
状态栏中各模块的排列顺序直接影响显示效果。举例说明:如果将 'progress' 放在 'truncate' 前面,路径截断功能将会失效——因为 progress 需要根据当前 buffer 宽度计算比例,而 truncate 必须优先占用空间才能正常工作。
推荐的顺序如下:模式 → 路径截断 → 文件路径 → 分支 → Git 变更 → 语言服务器诊断 → 分隔符 → 文件类型 → 进度条。
对应的配置代码为:
statusline = { 'mode', 'truncate', 'path', 'branch', 'signify', 'coc', 'divisor', 'filetype', 'progress' }
切换配色方案
有两种实现方式。
方法一:直接覆盖默认调色板
在 setup() 参数中传入 palette 表,例如深色背景常用如下组合:
palette = { background = '#1e1e1e', foreground = '#d4d4d4', blue = '#569cd6', green = '#608b4e' }
方法二:复用已有的主题变量
如果你已经在 config/colors.lua 中定义了 my_colors,可以直接引用:palette = my_colors。
需要留意的是:修改 palette 之后,必须重新执行 :PackerSync 或重启 Neovim,热重载方式不会生效。
