将 pygments 主题转换为 gvim 颜色方案

Posted

技术标签:

【中文标题】将 pygments 主题转换为 gvim 颜色方案【英文标题】:Converting pygments theme to gvim colorscheme 【发布时间】:2011-02-10 09:03:50 【问题描述】:

是否有任何工具可以将 pygments 样式定义转换为 gvim 颜色方案?

我找到了vim2pygments,它将 vim 颜色方案转换为 pygments 主题,但我没有找到任何做 inverse 的东西。具体来说,我使用的是 macvim,尽管我认为颜色方案格式对于任何 gvim 衍生物都是相同的(如果我错了,请纠正我)。

【问题讨论】:

【参考方案1】:

我还没有遇到任何可以自动执行此过程的方法,但是手动操作应该很容易。获取现有的配色方案,将其粘贴到您的 ~/.vim/colors/ 目录中,并将 pygments 方案中定义的颜色放入适当的位置。

例如,如果您使用my colour scheme(它使用非标准格式使其更易于编辑)并使其使用pygments autumn scheme,您可以采用如下所示的行:

let ColourAssignment['Function'] = "GUIFG": '#007777', "CTERMFG": 'Cyan'

并将其更改为如下所示:

let ColourAssignment['Function'] = "GUIFG": '#00aa00'

(我已经删除了颜色终端分配,因为您说您使用的是 GUI,因此它在很大程度上无关紧要)。

看完整个系列应该不会花很长时间。我的配色方案主要是为深色背景设计的(如果您切换到浅色背景,它会调整颜色),但摆脱这方面并不难:将“正常”突出显示更改为白底黑字而不是黑底白字并删除s:MakeDarker 函数和if &background == 'light' 块中的位。

或者,您可以通过采用(例如)darkblue.vim 并更改(例如)来使用正常的语法突出显示格式做类似的事情:

hi ErrorMsg     guifg=#ffffff guibg=#287eff                     ctermfg=white ctermbg=lightblue

并将其更改为:

hi ErrorMsg     guifg=#aa0000 guibg=#ffffff                     ctermfg=white ctermbg=lightblue

【讨论】:

以上是关于将 pygments 主题转换为 gvim 颜色方案的主要内容,如果未能解决你的问题,请参考以下文章

如何将材质调色板转换为 Flutter 主题?

Python Pygments 颜色错误

为啥 pygments 突出显示有背景颜色?

css Pygments主题

gVim设置默认主题和字体(图文详细版)

在`pygments`的命令行工具`pygmentize`中设置html字体大小