如何在我的 neovim~/.config/nvim/init.lua
配置中检测 nvim 正在运行哪个操作系统发行版?我希望在 debian 服务器上和我的 fedora Linux 工作站机器上有不同的 Neovim 配置。
vim.loop.os_uname()
仅检测“Linux”。- 有没有像
/etc/os-release
文件一样的内置文件?
答案1
我最终以一种笨拙的方式解决了这个问题,但它完成了工作。
只需调用 lsb_release外壳命令获取您的分布信息,然后对案例进行模式匹配
local handle = io.popen("lsb_release -i")
local result
if handle ~= nil then
local result = handle:read("*a")
handle:close()
-- From here, match on whichever distro you're looking to handle
result:match("Ubuntu") -- e.g. looking to handle Ubuntu
end
*如果您需要处理更一般的情况,此页的答案在检查发行版之前如何验证您的操作系统是否为 Linux。
**我认为从技术上讲 lsb_release 这不能保证安装在您的系统上,但它对我有用。另外,有时我会收到“没有可用的 LSB 模块”错误(即使它继续打印 lsb 信息),但我无法解释或解决。