我正在尝试从 VSCode 切换到 Neovim 并使用 LazyVim 进行设置,我在 WezTerm 上运行它。我喜欢它提供的 IDE,但我想知道我是否可以像 VSCode 中那样拥有自动明/暗模式切换。看,在 VSCode 中,我可以在
settings.json
中设置我喜欢的浅色和深色主题,并且当我的操作系统首选颜色发生变化时,IDE 会自动更改其颜色(我使用的是 Pop!_OS,基于 Ubuntu 24)。
最近几天我一直在寻找解决方案,并尝试了许多解决方法,但均未成功,例如在文件中存储和更新首选主题,并让 Neovim 监视此文件的更改(该文件不起作用,因为我似乎无法更改
vim.o.background
或回调函数中的 vim.o.colorscheme
)。
如果有一个简单的解决方案,不需要我自己编写和/或修改数十个文件,我会很高兴。
谢谢您的帮助。
一段时间过去了,我改变了管理主题的方式。我有一个全局环境变量
THEME
,可以是 dark
或 light
,具体取决于当前的系统主题。在我的 lazy.lua
中,我调用 os.env
来获取其值并调用 vim.cmd("colorscheme <a theme matched with $THEME>")
。它不仅与 VSCode 一样好,而且满足我的需要。