我需要创建什么文件?这些文件中应该包含什么?我可以在某个地方使用默认的colorscheme文件并相应地更改颜色值吗?

#1 楼

Colorscheme的位置

首先,Vim在其运行时文件夹中查找colors目录。这是所有颜色方案的存储位置(:help 'runtimepath'

,这意味着您将需要一个文件保存在~/.vim/colors文件夹中。默认的配色方案位于$VIMRUNTIME/colors中,其中$VIMRUNTIME通常是/usr/share/vim/vim74/usr/local/share/vim/vim74目录,具体取决于安装Vim的方式(对于Vim 7.3版,将vim74替换为vim73)现在可以进入有趣的部分了。 br />
创建颜色方案

开始创建自己的颜色方案,强烈建议您查看默认的颜色方案并进行修改。

因此将默认的colorcheme从$VIMRUNTIME/colors文件夹复制到您的~/.vim/colors文件夹。为它命名,使其与默认的colorcheme名称区分开。因此,如果您默认情况下复制了Vim附带的desert colorscheme,请将该文件命名为default_mod.vim或类似的名称。打开colorscheme文件并更改let g:colors_name,使其也与默认的colorcheme文件区分开。按照惯例,该名称应与colorscheme文件名相同。

在colorscheme中,您要做的只是给ctermbgctermfgguibgguifg提供颜色(用于终端背景,终端前景,gui背景,gui前景颜色)分别用于不同的内置高光组。要签出可以修改的突出显示组列表,请签出:help highlight-default。 (可选)您还可以使用ctermgui属性来指定您要突出显示组为粗体还是斜体。

例如,这将为字符串设置绿色:

highlight String ctermbg=NONE ctermfg=107 guibg=NONE guifg=#95B47B


您还可以使用突出显示链接将突出显示组链接到另一组。如果希望两个突出显示组具有相同的颜色,这将很有用。

例如,您可以将diffAdded高亮组链接到上面定义的String高亮组:

highlight link diffAdded String

评论


如果我只复制一个colorscheme.vim文件,然后将其放在单独的文件夹中,我可以在其他机器上重用它吗?例如。如果我将其放在github上的仓库中,是否可以克隆它或在其中一个插件管理器中启用它?

– dkns
15年3月30日在8:49

@dkns,是的。例如,您可以将colorscheme命名为“ dkns_colorscheme.vim”,将其放在colors /目录中,然后将其推送到Github。如果您安装了插件管理器,则克隆此仓库将使Vim可以使用colorscheme。

–akshay
2015年3月30日在8:51



另一个问题。不知道我应该在此处发表评论还是提出其他一般性问题。如何找到cterm的颜色值?我想让这个主题在gui和terminal上看起来相同,但是我不知道如何将十六进制值转换为cterm值。

– dkns
2015年4月1日在15:48

@dkns由于终端颜色很大程度上取决于终端仿真器中使用的调色板,因此很难做到这一点。创建颜色方案时,发现显示256种颜色中的每种颜色很有用。我在我的bin文件夹中使用了这个小脚本。您可以只使用颜色选择器,然后选择颜色以确保gui和cterm颜色相同。我会从cterm-> gui而不是相反的方向开始,因为gui vim中有更多颜色。希望能有所帮助。

–akshay
2015年4月2日19:16



#2 楼

查看类似Vivify的网站。他们基本上可以让您以图形方式创建或调整方案,然后下载必要的文件。

#3 楼

有一些工具可以使其自动完成:



生动化:非常复杂,您必须为每个高亮组手动选择每种颜色。

vimcolors.org:非常简单容易。只需选择一些颜色,它将自动为您生成方案。


#4 楼

另一个很棒的工具是romainl的RNB,它使用ERB。 ERB(Embedded RuBy)是Ruby的一项功能,使您可以从模板生成一些文本。

因此,此工具的用法非常简单:首先,您需要定义与术语相对应的不同变量颜色方案的内容,当然还有其实际内容(颜色的外观,要使用的组等),这很简单,因为作者写了很多评论来帮助您。然后,您要做的就是将自定义模板提供给erb,该工具将生成正确的文件。