You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:35:46