生成、定制和管理 Vim 配色方案
目前,该存储库仅包含我能够使用 downloadVimColorSchemes.sh 脚本从 www.vim.org 站点下载的所有 Vim 配色方案。
有两个与此 Vim 实用程序相关的主要功能:配色方案文件蒸馏(请参阅 distill.vim 脚本)和配色方案文件查看(请参阅:viewer.vim 脚本)。
蒸馏配色方案文件是通过处理现有配色方案文件生成的配色方案文件。该处理执行以下操作:
它消除了那些多余的突出显示组声明,
它消除了那些冗余的组属性,
生成标准注释标题和初始 VimL 代码:
set background= 'light' or 'dark'
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = expand(":t:r")
输出针对特定 GVim 和 Vim 配置的突出显示组定义:
if has("gui_running")
" highlights for GVim
elseif &t_Co == 256
" highlights for 256 color Xterm Vim
elseif &t_Co == 88
" highlights for 88 urvxt color Vim
elseif &t_Co == 16
" highlights for 16 color Xterm Vim
else " &t_Co == 8
" highlights for 8 color Xterm Vim
endif
它消除了冗余的链接定义,
背景颜色设置主要取决于正常背景值,而不是颜色方案文件所说的内容(因为它们有时会撒谎)。
在适当的时候生成同一基色方案文件的“深色”和“浅色”版本。
配色方案查看器可用于查看位于“colors”目录中的配色方案文件。此“审查”包括查看使用所选配色方案显示的测试文件。人们可以轻松切换要使用的测试文件(目前有 c、pl、java、scala、tex 和 html 的测试文件)和颜色方案。
使用上面提到的 vim_color_schemes_downloader bash 脚本,我能够识别一些 687 个配色方案文件(尽管可能有一些重复 - bash 脚本唯一识别启发式非常简单)。然后使用 distill.vim 脚本,从 Xterm(cterm 配置)和 GVim(gui 配置)中的 Vim 运行它,它生成了以下数量的配色方案文件:
没有人声称它们都是独一无二的,或者(至少目前)所有深色的实际上都有深色背景,所有浅色都有浅色背景。但是,distill.vim 脚本确实采用了大部分为 GVim 编写的原始配色方案文件,并为 Vim 生成了类似的配色方案文件。
少数原始配色方案文件具有 VimL 代码,专门禁止用户在未运行 GVim(或视情况而定,Vim)的情况下使用它们。有一小部分刚刚损坏(我尝试修复它们并在此处签入更正的版本)。
无论如何,我相信这是最大的 Vim 配色方案文件集合。
viewer.vim 脚本允许人们快速、轻松地查看应用不同配色方案的不同文件类型的文件。
在plugin/colorschemer.vim 文件中定义了一个映射
cv
这将弹出一个对话框,可以从中启动所有不同的查看器。请注意,除非在自己的计算机上运行 distill.vim 脚本,否则 ViewerDistilledDark 和 ViewerDistilledLight 将不会运行 - 目录中没有配色方案文件
data/colorschemer/distill
使用查看器可以看到的示例图像位于图像目录中。
可以从 www.vim.org 下载 {ColorSchemer} 库的 zip 快照
在你的 Vim 主目录(通常是 Unix 中的 $HOME/.vim)中,解压缩文件:
# cd $HOME/.vim
# unzip colorschemer.zip
在 Windows 系统上,vim 主目录通常是 $HOME/vimfiles。
TODO how to unpack on Windows?
{ColorSchemer} 也可以通过 github 获得。人们可以从 github 下载一个版本并提取内容。
如果作为一名开发人员,希望在出现时进行修复,可以克隆 github {ColorSchemer} 存储库,并在出现更新时将文件复制到您的 Vim 主位置。
Vim 有许多第三方插件管理器。如果您正在使用,您可以将其配置为自动下载并安装 {ColorSchemer}。 TODO 如何使用 VAM 插件管理器
Forms 依赖于 Self Library,一个基于原型的对象系统:VIM 或 GitHub,以及 VIM 或 GitHub 上的 Forms 库
解压后,ColorSchemer 目录布局应如下所示:
$HOME/.vim/
autoload/
colorschemer/
distill.vim
" generate distilled color scheme files
util.vim
viewer.vim
" view test files with their syntax allowing for
" very quick toggling through color schemes
data/
" data that persists between invocations of a plugin
colorschemer/
" colorschemer data
colors/
" source Vim color scheme files (some 688 of them!)
distilled/
" target directory for files generated by distill.vim
distilled.cterm/
" generated using distill.vim in Vim
distilled.gui/
" generated using distill.vim in GVim
test/
" test source files (c, pl, java, scala, tex, html)
" users can add addition ones
doc/
colorschemer.txt
plugin/
colorschemer.vim
有关 vim-addon-manager 的更多信息,请参阅 vim-addon-manager 和 Vim-addon-manager 入门
在您的 .vimrc 中,添加 self ,如下所示:
fun SetupVAM()
...
let g:vim_addon_manager = {}
let g:vim_addon_manager.plugin_sources = {}
....
let g:vim_addon_manager.plugin_sources['self'] = {'type': 'git', 'url': 'git://github.com/megaannum/self'}
let g:vim_addon_manager.plugin_sources['forms'] = {'type': 'git', 'url': 'git://github.com/megaannum/forms'}
let g:vim_addon_manager.plugin_sources['colorschemer'] = {'type': 'git', 'url': 'git://github.com/megaannum/colorschemer'}
let plugins = [
'self',
'forms',
'colorschemer'
]
call vam#ActivateAddons(plugins,{'auto_install' : 0})
...
endf
call SetupVAM()
现在启动 Vim。 vim-addon-manager 会询问您是否要下载并安装 self 插件(无依赖项)。
我不使用病原体。欢迎提供示例用法。
在 colorchemer 的插件目录中有一个映射,它将弹出一个表单,允许人们查看该实用程序以及系统上其他位置可用的各种配色方案文件。
nmap cv :call colorschemer#viewer#ViewerForm()
各种查看器也可以通过以下命令执行。
对于使用 Vim 生成的蒸馏配色方案
call colorschemer#viewer#ViewerDistilledCtermDark()
call colorschemer#viewer#ViewerDistilledCtermLight()
对于使用 GVim 生成的蒸馏配色方案
call colorschemer#viewer#ViewerDistilledGuiDark()
call colorschemer#viewer#ViewerDistilledGuiLight()
对于最终用户生成的新的蒸馏配色方案
call colorschemer#viewer#ViewerDistilledDark()
call colorschemer#viewer#ViewerDistilledLight()
对于在用户的 $HOME/.vim/colors 或 $HOME/vimfiles/colors 中找到的配色方案
call colorschemer#viewer#ViewerHomeColors()
浏览本地目录以查找要查看的“colors”目录
call colorschemer#viewer#ViewerBrowse()
要访问上述任何配色方案查看选项,请使用:
call colorschemer#viewer#ViewerForm()
应该在任何 Forms 工作的地方工作。
尚无可用。
还没有。