你可以修改默认配色和高亮。
- 主色调:蓝色
- 副色调:绿色
- 搜索/匹配色:橙色
优先级从高到低:
config.colors
- 每个插件定义的颜色和高亮
colors/highlights
- 在主题插件中定义的颜色和高亮
- 语法高亮由 nvim-treesitter 提供
什么是色彩空间?可参考这篇文章。
本项目的颜色是根据 Display P3 色彩空间设计的。对于 MacOS 系统和 iTerm2 用户友好。
如果你的 nvim 配色看起来跟下图有点不一样。你的终端应该不是处于 Display P3 色彩空间。 你可以尝试 sRGB 配色。
色彩空间由终端应用程序和操作系统管理。您应该根据自己的环境选择合适的色彩空间。
当前 one.nvim 提供 Display P3 和 sRGB 色彩预设。 默认使用 Display P3 预设。您可以参考下面的代码使用 sRGB 预设。
require('one').setup {
config = {
colors = require('one.colors.srgb')
}
}
对于 Kitty 用户,应在 Kitty 配置中设置 macos_colorspace displayp3
。或者设置 macos_colorspace srgb
,并使用 sRGB 色彩预设。
对于 Windows 用户,请阅读 Microsoft - About Color Management 和 Windows Central - How to find the right color profile for your monitor using Windows 10。(尽管目前 one.nvim 对 Windows 用户不起作用)。
通过配置项 config.colors
修改基本配色。
默认颜色配置定义在 ../lua/one/colors/display-p3.lua。
require('one').setup {
config = {
colors = { -- basic colors
white = '#BEC0C4', -- frontground
black = '#15181D', -- background
cursorLine = '#252931',
},
}
}
通过 plugins
配置覆盖插件的高亮。
require('one').setup {
plugins = {
{
'stevearc/aerial.nvim',
highlights = {
AerialLine = { bg = 'green' },
}
},
},
}
本项目高度依赖 nvim-treesitter。The nvim-treesitter will set highlights for each syntax. See the treesitter highlights and colors/highlights.
如果语法高亮失效,尝试重新安装你的 treesitter parsers。阅读 doc/treesitter.md 查看如何排查问题。
treesitter 禁用了 markdown
语法高亮(参见 config.treesitter.highlight.disable
)。
但它的语法解析器仍在工作。
它的语法高亮定义在 lua/one/plugins/markdown/highlights.lua 中。
在使用 nvim 内置高亮时,help
语法高亮对 treesitter 无效。
默认主题是 'onedarkpro'.
require('one').setup {
config = {
theme = {
use = 'onedarkpro',
-- The onedarkpro plugin provides four themes.
onedarkpro = {
theme = 'onedark', -- 'onelight', 'onedark_vivid', 'onedark_dark'
-- You can override options
-- Options see https://github.com/olimorris/onedarkpro.nvim#wrench-configuration
colors = {},
highlights = {},
plugins = {},
styles = {},
options = {},
}
}
},
}
require('one').setup {
config = {
theme = {
use = 'material',
-- The material plugin provides five themes.
material = {
style = 'darker', -- 'darker', 'lighter', 'oceanic', 'palenight' 'deep ocean'
-- Options see https://github.com/marko-cerovac/material.nvim
}
}
},
}
你可以 config.theme.use = false
禁用主题。
如果你更喜欢 tokyonight.nvim,按如下代码编辑你的 init.lua
。
require('one').setup {
config = {
theme = { use = false },
},
plugins = {
{ 'onedarkpro', disable = true },
{
'folke/tokyonight.nvim',
config = function(config)
local conf = config.tokyonight
vim.cmd('colorscheme ' .. conf.colorscheme)
require('tokyonight').setup(conf.setup)
end,
defaultConfig = {
'tokyonight',
{
colorscheme = 'tokyonight', -- https://github.com/folke/tokyonight.nvim#-usage
setup = {}, -- https://github.com/folke/tokyonight.nvim#%EF%B8%8F-configuration
},
},
},
},
}
这个配置很简陋,需要你自己调整。