有一个在线的生成vim配色方案的网站,非常好用。

http://bytefluent.com/vivify/

不足就是它生成的配色在 terminal 下面还可以,但是在GUI下面就没法看了,两者颜色并不统一。

我需要在gui和term下颜色一致,这样我mac下我用terminal, win下我用gvim就能保持一致的使用效果了。为了实现这个就要改颜色值一致。

下载的配色方案文件格式如下:

我要实现 termbg  = guibg  ,  termfg = guifg  ,那么首先就要知道 term 下的颜色值怎么转换成 RGB形式。

vim 的256色对应RGB,可以通过 XtermColorTable 插件获得。

那么,我我只需要写段 代码,检查下载下来的配色方案,分析其 term颜色,并更新到相应的 gui颜色就OK了。

#!/usr/bin/env python
#-*- coding: utf-8 -*-# File Name: ColorGuiSameToTerm.py
# Author: xulong
# mail: fangkailove@yeah.net
# QQ: 26564303
# blog: http://gnolux.blog.csdn.net
# Created Time: 2020-06-16#vim 256 colors
colors = {'0' : "#000000",    '1' : "#800000",    '2' : "#008000",    '3' : "#808000",    '4' : "#000080",    '5' : "#800080",    '6' : "#008080",    '7' : "#c0c0c0",'8' : "#808080",    '9' : "#ff0000",   '10' : "#00ff00",   '11' : "#ffff00",   '12' : "#0000ff",   '13' : "#ff00ff",   '14' : "#00ffff",   '15' : "#ffffff",'16' : "#000000",   '17' : "#00005f",   '18' : "#000087",   '19' : "#0000af",   '20' : "#0000df",   '21' : "#0000ff",'22' : "#005f00",   '23' : "#005f5f",   '24' : "#005f87",   '25' : "#005faf",   '26' : "#005fdf",   '27' : "#005fff",'28' : "#008700",   '29' : "#00875f",   '30' : "#008787",   '31' : "#0087af",   '32' : "#0087df",   '33' : "#0087ff",'34' : "#00af00",   '35' : "#00af5f",   '36' : "#00af87",   '37' : "#00afaf",   '38' : "#00afdf",   '39' : "#00afff",'40' : "#00df00",   '41' : "#00df5f",   '42' : "#00df87",   '43' : "#00dfaf",   '44' : "#00dfdf",   '45' : "#00dfff",'46' : "#00ff00",   '47' : "#00ff5f",   '48' : "#00ff87",   '49' : "#00ffaf",   '50' : "#00ffdf",   '51' : "#00ffff",'52' : "#5f0000",   '53' : "#5f005f",   '54' : "#5f0087",   '55' : "#5f00af",   '56' : "#5f00df",   '57' : "#5f00ff",'58' : "#5f5f00",   '59' : "#5f5f5f",   '60' : "#5f5f87",   '61' : "#5f5faf",   '62' : "#5f5fdf",   '63' : "#5f5fff",'64' : "#5f8700",   '65' : "#5f875f",   '66' : "#5f8787",   '67' : "#5f87af",   '68' : "#5f87df",   '69' : "#5f87ff",'70' : "#5faf00",   '71' : "#5faf5f",   '72' : "#5faf87",   '73' : "#5fafaf",   '74' : "#5fafdf",   '75' : "#5fafff",'76' : "#5fdf00",   '77' : "#5fdf5f",   '78' : "#5fdf87",   '79' : "#5fdfaf",   '80' : "#5fdfdf",   '81' : "#5fdfff",'82' : "#5fff00",   '83' : "#5fff5f",   '84' : "#5fff87",   '85' : "#5fffaf",   '86' : "#5fffdf",   '87' : "#5fffff",'88' : "#870000",   '89' : "#87005f",   '90' : "#870087",   '91' : "#8700af",   '92' : "#8700df",   '93' : "#8700ff",'94' : "#875f00",   '95' : "#875f5f",   '96' : "#875f87",   '97' : "#875faf",   '98' : "#875fdf",   '99' : "#875fff",
'100' : "#878700",  '101' : "#87875f",  '102' : "#878787",  '103' : "#8787af",  '104' : "#8787df",  '105' : "#8787ff",
'106' : "#87af00",  '107' : "#87af5f",  '108' : "#87af87",  '109' : "#87afaf",  '110' : "#87afdf",  '111' : "#87afff",
'112' : "#87df00",  '113' : "#87df5f",  '114' : "#87df87",  '115' : "#87dfaf",  '116' : "#87dfdf",  '117' : "#87dfff",
'118' : "#87ff00",  '119' : "#87ff5f",  '120' : "#87ff87",  '121' : "#87ffaf",  '122' : "#87ffdf",  '123' : "#87ffff",
'124' : "#af0000",  '125' : "#af005f",  '126' : "#af0087",  '127' : "#af00af",  '128' : "#af00df",  '129' : "#af00ff",
'130' : "#af5f00",  '131' : "#af5f5f",  '132' : "#af5f87",  '133' : "#af5faf",  '134' : "#af5fdf",  '135' : "#af5fff",
'136' : "#af8700",  '137' : "#af875f",  '138' : "#af8787",  '139' : "#af87af",  '140' : "#af87df",  '141' : "#af87ff",
'142' : "#afaf00",  '143' : "#afaf5f",  '144' : "#afaf87",  '145' : "#afafaf",  '146' : "#afafdf",  '147' : "#afafff",
'148' : "#afdf00",  '149' : "#afdf5f",  '150' : "#afdf87",  '151' : "#afdfaf",  '152' : "#afdfdf",  '153' : "#afdfff",
'154' : "#afff00",  '155' : "#afff5f",  '156' : "#afff87",  '157' : "#afffaf",  '158' : "#afffdf",  '159' : "#afffff",
'160' : "#df0000",  '161' : "#df005f",  '162' : "#df0087",  '163' : "#df00af",  '164' : "#df00df",  '165' : "#df00ff",
'166' : "#df5f00",  '167' : "#df5f5f",  '168' : "#df5f87",  '169' : "#df5faf",  '170' : "#df5fdf",  '171' : "#df5fff",
'172' : "#df8700",  '173' : "#df875f",  '174' : "#df8787",  '175' : "#df87af",  '176' : "#df87df",  '177' : "#df87ff",
'178' : "#dfaf00",  '179' : "#dfaf5f",  '180' : "#dfaf87",  '181' : "#dfafaf",  '182' : "#dfafdf",  '183' : "#dfafff",
'184' : "#dfdf00",  '185' : "#dfdf5f",  '186' : "#dfdf87",  '187' : "#dfdfaf",  '188' : "#dfdfdf",  '189' : "#dfdfff",
'190' : "#dfff00",  '191' : "#dfff5f",  '192' : "#dfff87",  '193' : "#dfffaf",  '194' : "#dfffdf",  '195' : "#dfffff",
'196' : "#ff0000",  '197' : "#ff005f",  '198' : "#ff0087",  '199' : "#ff00af",  '200' : "#ff00df",  '201' : "#ff00ff",
'202' : "#ff5f00",  '203' : "#ff5f5f",  '204' : "#ff5f87",  '205' : "#ff5faf",  '206' : "#ff5fdf",  '207' : "#ff5fff",
'208' : "#ff8700",  '209' : "#ff875f",  '210' : "#ff8787",  '211' : "#ff87af",  '212' : "#ff87df",  '213' : "#ff87ff",
'214' : "#ffaf00",  '215' : "#ffaf5f",  '216' : "#ffaf87",  '217' : "#ffafaf",  '218' : "#ffafdf",  '219' : "#ffafff",
'220' : "#ffdf00",  '221' : "#ffdf5f",  '222' : "#ffdf87",  '223' : "#ffdfaf",  '224' : "#ffdfdf",  '225' : "#ffdfff",
'226' : "#ffff00",  '227' : "#ffff5f",  '228' : "#ffff87",  '229' : "#ffffaf",  '230' : "#ffffdf",  '231' : "#ffffff",
'232' : "#080808",  '233' : "#121212",  '234' : "#1c1c1c",  '235' : "#262626",  '236' : "#303030",  '237' : "#3a3a3a",
'238' : "#444444",  '239' : "#4e4e4e",  '240' : "#585858",  '241' : "#606060",  '242' : "#666666",  '243' : "#767676",
'244' : "#808080",  '245' : "#8a8a8a",  '246' : "#949494",  '247' : "#9e9e9e",  '248' : "#a8a8a8",  '249' : "#b2b2b2",
'250' : "#bcbcbc",  '251' : "#c6c6c6",  '252' : "#d0d0d0",  '253' : "#dadada",  '254' : "#e4e4e4",  '255' : "#eeeeee",
}
lines=[]
#read the source color_file
#download from bytefluent.com/vivify
with open("/Users/xulong/.vim/colors/gnolux.vim",'r') as f:lines=f.readlines()#write to  the tmp color_file
with open("/Users/xulong/.vim/colors/tmp.vim",'w') as f2:for l in lines:keys= l.strip().split(' ')if len(keys) > 2:if keys[0]=='hi':hi=[keys[0],keys[1],{x.split('=')[0]:x.split('=')[1]  for x in keys[2:]}]fromkey, tokey = 'ctermbg','guibg'if tokey in hi[2] and fromkey in hi[2] : if hi[2][fromkey] in colors:hi[2][tokey]=colors[hi[2][fromkey] ]print(hi)fromkey, tokey = 'ctermbg','guisp'if tokey in hi[2] and fromkey in hi[2] : if hi[2][fromkey] in colors:hi[2][tokey]=colors[hi[2][fromkey] ]print(hi)fromkey, tokey = 'ctermfg','guifg'if tokey in hi[2] and fromkey in hi[2] : if hi[2][fromkey] in colors:hi[2][tokey]=colors[hi[2][fromkey] ]print(hi)#print(' '.join(hi[0:2]+['='.join(x) for x in hi[2].items()]))f2.write('%s\n'%(' '.join(hi[0:2]+['='.join(x) for x in hi[2].items()])))else:#print(l)f2.write('%s'%l)else:#print(l)f2.write('%s'%l)

最终配色效果

在线vim配色加term与gui统一颜色调整python脚本相关推荐

  1. 改变vim配色:安装colorscheme【转】

    主要有两种方式安装colorscheme: 自行下载colorscheme安装,下载的文件扩展名通常为.vim. 通过安装相关vim的插件获取. 自行下载colorscheme安装 以mac为例,在系 ...

  2. linux修改vim配色,更改vim配色的具体操作 更改vim配色的图文教程

    有的用户还不会更改vim配色?下文就是小编给大家分享的更改vim配色的图文教程,一起来看看吧,希望对你们有所帮助哦. 一.查看系统中的配色方案 启动 Linux(示例版本为 CentOS 6.6),进 ...

  3. 赛效:如何在线给图片加水印

    学会给图片加水印是一个非常实用的技能,可以让你的图片更具保护性和个性化.说到加水印,很多人不知道怎么操作.其实,给图片加水印非常简单,不用下载任何程序,在线就能完成.今天,我将介绍如何使用改图宝在线给 ...

  4. Python调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序

    调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序 1. 实验环境 Python3.8.Pycharm.window10 2.实验过程 1.首先登陆百度智能云:https ...

  5. VimAdventures:在线VIM大冒险游戏

    VimAdventures:在线VIM大冒险游戏是一个让新手用户熟悉Linux Vim热键的小游戏,但你在学习Linux系统的时候,是不是对vim的那一大堆热键很头疼,现在你可以通过这个小游戏来熟悉使 ...

  6. 在线VIM编辑器模拟工具

    在线VIM编辑器模拟工具,链接地址:在线VIM编辑器模拟工具 - 站长辅助工具 - 脚本之家在线工具 VIM编辑器 | VIM Introduce 学习 vim 并且其会成为你最后一个使用的文本编辑器 ...

  7. vim配色方案colorscheme设置

    vim配色方案colorscheme设置 vim配色方案colorscheme设置_Web开发_web前端_web后端_linux_ubuntu学习_百度空间 vim配色方案colorscheme设置 ...

  8. .vimrc php,不重启Vim重新加载 .vimrc 文件如何实现

    这次给大家带来不重启Vim重新加载 .vimrc 文件如何实现,不重启Vim重新加载 .vimrc 文件如何实现的注意事项有哪些,下面就是实战案例,一起来看一下. 我是一位新的 Vim 编辑器用户.我 ...

  9. Mac 系统的vim配色

    Mac默认的vim配色也是黑底白字,没有任何高亮,需要我们自行配置,这里配置vim人气超高的molokai配色方案. 1.进入主目录下的.vim文件夹 $ cd ~/.vim 2.如果没有.vim文件 ...

  10. python可以实现vba功能吗_再见 VBA!神器工具统一 Excel 和 Python

    原标题:再见 VBA!神器工具统一 Excel 和 Python 关注 作者:东哥起飞 来源:Python数据科学 大家好,我是东哥. 经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评.这次 ...

最新文章

  1. 小白学数据分析-----回归分析在游戏人气分析的应用探索
  2. xiaocms php,XiaoCms PHP企业网站模板, ,后台可备份 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...
  3. [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
  4. MySQL异步复制延迟解决的架构设计与运维架构ppt
  5. SSH远程管理OpenSSH使用
  6. c语言输入一串字符辨别奇偶,c语言设计输入一个正整数判断其中各个数字是否奇数偶数交替出现是输出yes不是输出no...
  7. 在生产中使用Istio,我们学到了什么?
  8. android实例教程_Android ConstraintLayout示例教程
  9. 网络热词下的民意传播
  10. Linux内核模块(一)
  11. 如何进行cad地理配准_地理配准和空间校正操作流程
  12. html - html5 audio 音乐自动播放,循环播放等9款播放器
  13. python持久层框架_python网络爬虫——scrapy框架持久化存储
  14. MATLAB创建数组方法
  15. 国内外部分源软件镜像站和部分软件官方网站
  16. 三角肌前束(05):杠铃颈前推举
  17. 基于UMeng消息推送测试-demo教程(iOS版)
  18. android m是什么版本号,android m是什么 android m是哪个版本
  19. 数据科学入门与细分数据领域盘点
  20. 传《斗战神》美术创作婉拒暴雪挖角 中国游戏人缺少这份傲骨

热门文章

  1. 软件测试-测试需求分析
  2. 深度解析TCP/IP---网络原理的重重之重
  3. 深度IP转换器高匿名8级加密企业级专用IP软件
  4. 使用js-xlsx纯前端导出excel
  5. 易源接口showapi的使用
  6. 计算机需要无线网卡进行网络连,电脑连接无线网络时,提示"你没有首选无线网络"怎么办...
  7. ida pro6.4 linux安装使用
  8. 自己收藏整理的一些操作系统资源
  9. 利用Python(netCDF4库)读取.nc文件(NetCDF气象数据文件)的基本操作
  10. 利用oc门或od门实现线与_OC门电路和OD门电路原理