如何通过Neovim Lua API取消非活动窗格/缓冲区的变暗效果
解决Tokyonight主题非活动窗格变暗问题
完全可以只通过Neovim Lua API取消非活动窗格/缓冲区的变暗效果,下面给你两种可行方案:
方案1:直接覆盖高亮组
Tokyonight是靠NormalNC这个高亮组实现非活动窗格变暗的,你可以在主题加载后手动把这个组的背景色改成和活动窗格的Normal组一致,代码加在你的init.lua或者配置文件末尾就行:
vim.api.nvim_create_autocmd("ColorScheme", { pattern = "tokyonight", callback = function() -- 获取活动窗格的背景色 local normal_bg = vim.api.nvim_get_hl_by_name("Normal", true).background -- 把非活动窗格的背景色设成和活动窗格一样 vim.api.nvim_set_hl(0, "NormalNC", { bg = normal_bg }) end })
方案2:修正主题配置(如果之前配置写错了)
要是你想通过主题本身的配置解决,先检查一下你的Tokyonight配置有没有写错键名——很多人会把dim_inactive写成dim-inactive,Lua表的键名不能用连字符,正确的配置应该是这样:
require("tokyonight").setup({ dim_inactive = false, -- 这里是下划线,不是连字符 -- 其他你需要的配置,比如transparency之类的 styles = { -- 保持你原本想要的样式设置 } })
这两种方法都不会影响状态栏随焦点切换的默认行为,因为只改动了非活动窗格的高亮显示逻辑。
内容的提问来源于stack exchange,提问作者Gpine185
相关产品推荐
相关产品推荐

