oeasy教您玩转vim - 25 - 更多颜色
更多颜色
回忆上节课内容
- 我们上次深入了配色方案
- 定义了自己的配色方案
oeasy
- 建立了自己的配色
oeasy
- 在状态栏应用了自己的配色
明确能用的颜色
先胡乱地尝试一下修改颜色代码
hi Normal ctermfg=1
hi Normal ctermfg=2
hi Normal ctermfg=3
首先看看有多少能用的颜色
:set t_Co?
设置为 256 色的有颜色终端(cterm)显示模式
:set t_Co=256
- 那么这 256 种颜色都有什么呢?
- 我们尝试把他显示出来
显示某种颜色
- 显示某种颜色
echo -e "\033[48;5;1moeasy[0m"
echo -e "\033[48;5;2moeasy[0m"
echo -e "\033[48;5;3moeasy[0m"
echo -e "\033[48;5;4moeasy[0m"
echo -e "\033[48;5;5moeasy[0m"
尝试把所有颜色遍历出来
#!/bin/bash
for c in {0..255}
do
printf "\033[48;5;"$c"m%5d\033[0m" $c
done
- 保存并运行当前程序
:w|!sh %
- 确实符合ansi的规则
- 这不废话么?
修改确认
:hi Normal ctermbg=196
:hi Normal ctermbg=214
:hi Normal ctermbg=124
- 经过确认颜色基本能够对应上
- 这样我们就可以使用全部256种颜色了
- 哈哈哈哈
- 开心
更多颜色
- 当我打开了下载的color文件
- 就是上上次从vimcolors.com下载的
- git clone https://github.com/gryf/wombat256grf.git
- 发现了这个
- 看起来我们可以使用rgb颜色编码方式!!
- 怎么做的呢?看代码
转化过程
- 需要在代码里定义从rgb颜色模式到ansi颜色模式的转化函数
- 首先把rgb拆分为三个本地的分量
- 如果三个分量相等
- 映射到相应具体的灰阶的值
- 彩色怎么办呢?
彩色映射
- rgb三个分量已经得到了
- 得到近似颜色
- 然后再得到彩色的值
- 这样我们就可以使用rgb颜色了
- 而且不论我们使不使用颜色映射
- 都可以用代码当前的配色方案直接生成颜色网页
生成网页
可以用自定义的颜色方案生成网页
:TOhtml
- 或者
:source $VIMRUNTIME/syntax/2html.vim
然后在浏览器里打开他
:firefox %
总结
- 这次了解了颜色的细节
设置 256 色模式
:set t_Co=256
- 然后确定了具体的各种颜色
- 还可以生成网页
- 还有什么好玩的么?
- 下次再说
oeasy教您玩转vim - 25 - 更多颜色的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- Linux系统中如何查看磁盘情况
Linux不像windows系统那样方便的图形界面,特别是作为服务器使用的时候,只有命令行可以使用. 我有个云服务器平时用来做一些数据分享用的,最近想看看磁盘和其中文件的占用情况,于是搜索并学习了一些 ...
- 超详细--redis在Linux环境搭建主从复制
引言Redis是一个高性能的缓存中间件,一个Redis服务器可以支撑很多的并发请求.但是在一些超高的并发场景下,虽然Redis读写速度很快,但也会产生读写压力过大,服务器负载过高的情况.为了分担读写的 ...
- C# npoi追加写入时报错 因为文件格式或文件扩展名无效。
造成原因:workbook对象打开后,没有手动close造成的. 使用的npoi版本:2.6.0 ,环境 win10 .net core 5.0
- [NOIP2001 提高组] 数的划分
个人博客传送锚点:https://www.acwing.com/blog/content/55495/ 传送锚点:https://www.luogu.com.cn/problem/P1025 题目描述 ...
- 【ESP32】制作 Wi-fi 音箱(HTTP + I2S 协议)
用 Wifi 来传输音频数据,会比蓝牙更好.使用蓝牙方式,不管你用什么协议,都会对数据重新编码,说人话就是有损音质,虽然不至于全损.而使用 Wifi 就可以将 PCM 数据直接传输,无需再编码和压缩. ...
- WPF之单例模式
项目 2019/10/09 问题 2019年10月9日星期三 上午2:46 1.为了实现单例模式,在App类中添加了如下代码,使用了信号量,但是为什么返回;isNew一直为true public ...
- Newtonsoft.Json解决中文编码问题
Newtonsoft.Json解决中文编码 默认Newtonsoft.Json序列化对象后,返回的中文未进行编码. 需要将编码转换的话,需要 1 2 3 4 5 6 7 var json = Json ...
- Qt-绘图设备
1 简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=40 Qt绘图设备有三种:QPixmap.QBitmap.QImage.QPictur ...
- 算法金 | 再见,PCA 主成分分析!
大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 1. 概念:数据降维的数学方法 定义 主成分分析(PCA)是一种统计方法,通过正交变 ...
- minos 1.2 内存虚拟化——guest
首发公号:Rand_cs minos 1.2 内存虚拟化--guest 项目来自乐敏大佬:https://github.com/minosproject/minos 本文继续讲述 minos 中的内存 ...