Dev_theme

Nvim :help 页面,生成 使用 tree-sitter-vimdoc 解析器。


Nvim 配色方案指南
开发 Nvim 默认配色方案的风格指南。

设计

要具有 "Neovim 品牌",即主要以 "绿蓝色" 为主调,并保留一到两种颜色用于非常偶尔的用户注意。
面向 'termguicolors'(真彩色),同时对 'notermguicolors'(16 色)作为回退进行额外最小化。
要可访问,即具有足够高的对比度(如 https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef 中所定义)。这意味着 hl-Normal 的值至少为 7,一些常见情况(hl-Visual、设置了 'cursorline'Comment、彩色语法、Diff*hl-Search)的值至少为 4.5。
通过交换深色和浅色调色板来适合深色和浅色背景。
要可用,即为常见对象提供足够的视觉反馈。

调色板

有两个独立的调色板:深色和浅色。它们都包含相同的颜色集,分别导出为 NvimDark*NvimLight* 颜色。
深色调色板用于深色配色方案的背景和浅色配色方案的前景;反之亦然。这在不显得太突出的情况下引入了可识别的视觉系统。
调色板的实际计算应该在感知上统一的颜色空间中完成。Oklch 是一个不错的选择。
每个调色板都包含以下颜色(描述适用于深色背景;浅色背景反之)
四种色调的 "冷" 灰色,用于一般 UI。
深色(从最暗到最亮)分别保留为 hl-NormalFloat 的背景(被认为是 "黑色")、hl-Normal 的背景、hl-CursorLinehl-Visual
浅色(同样从最暗到最亮)分别保留为 Commenthl-StatusLine/|hl-TabLine|、hl-Normal 的前景,以及被认为是 "白色" 的颜色。
六种颜色,以提供足够的终端颜色:红色、黄色、绿色、青色、蓝色、洋红色。它们的亮度和色度应该(合理地)相似,以使它们在视觉上保持一致。亮度应尽可能接近调色板的基本灰色(用于 hl-Normal)。它们的色调应该(合理地)不同,以使它们在视觉上可分离。
对于 16 色
灰色不使用,并被替换为终端模拟器的前景色和背景色。
非灰色颜色回退到终端颜色,按 ANSI 代码中的顺序排列(https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit),即红色 (1, 9)、绿色 (2, 10)、黄色 (3, 11)、蓝色 (4, 12)、洋红色 (5, 13)、青色 (6, 14)。为了提高对比度,颜色 1-6 用于浅色背景,颜色 9-14 用于深色背景。

高亮组

使用
根据其设计,灰色色调用于一般 UI。
粗体文本用于关键字(Statement 高亮组)。这是一个重要的选择,可以提高色觉障碍人士的可访问性,因为它不依赖于实际颜色。
绿色用于字符串、hl-DiffAdd(作为背景)、hl-DiagnosticOk,以及一些次要的文本 UI 元素。
青色作为主要的语法颜色,即用于函数使用(Function 高亮组)、hl-DiffTexthl-DiagnosticInfo,以及一些次要的文本 UI 元素。
红色通常表示用户高度关注,即错误;特别地,用于 hl-ErrorMsghl-DiffDeletehl-DiagnosticError
黄色非常谨慎地用于表示用户轻微关注,即警告。即,hl-DiagnosticWarnhl-WarningMsg
蓝色非常谨慎地用作 hl-DiagnosticHint,以及一些额外的重要语法组(如 Identifier)。
洋红色非常谨慎地使用(如果有的话)。
在 16 色的情况下
依赖于假设 "背景色可以用作背景;其他颜色可以用作前景"。这意味着在任何前景/背景组合中都应该有背景色和一种非背景色。
使用 0(黑色)或 15(亮白色)作为非灰色背景的前景,具体取决于普通背景是浅色还是深色。
主要
命令索引
快速参考