oeasy教您玩转vim - 24 - 自定颜色
自定颜色
回忆上节课内容
这次我们研究了配色方案
- 找到了
colors的位置 - 下载并应用了颜色方案
- 制作了自己的配色方案
- 找到了
下面我想修改配色方案的颜色
- 是否能成功???
首先得有自己的颜色方案

#找到colors的位置
cd usr/share/vim/vim81/colors
#列出所有配色方案
ls
#复制出自己的配色方案
sudo cp murphy.vim oeasy.vim
#查看配色方案信息
sudo vi oeasy.vim
修改配色方案
- 前 5 行是注释
- 第 7 行取消原来的配色
- 第 8 行设置背景
- 第 9-11 行重设语法高亮
- 第 12 行命名此配色方案,可以修改为
oeasy - 第 14 行开始设置各种高亮组的颜色
我们先修改第一个高亮组
NormalNormal的意思是一般文字- 这类的文字都属于这个高亮组
与此类似的还有
- 注释
Comment - 常量
Constant等
- 注释
改变 Normal 高亮组颜色
- 首先把配色方案名称改为
oeasy - 找到
Normal组 - 把
Normal组的背景色ctermbg改为blue - 把
Normal组的前景色ctermfg改为yellow :w保存配色文件colorscheme oeasy重新设定配色文件

查看配色
:hi Normal可以查看Normal组的配色:hi可以查看当前色彩方案所有的配色xxx就是效果预览

配色细节
hi是highlight的缩写:h hi可以查询帮助
字体特征
:hi StatusLine:hi StatusLine cterm=bold:hi StatusLine cterm=bold,italic:hi StatusLine cterm=bold,italic:hi StatusLine cterm=bold,italic,underline:hi StatusLine
term- 意思是
terminal - 效果之间可以加逗号
- 对应黑白终端
- 在此无效
- 意思是
cterm- bold 加粗
- underline 下划线
- italic 倾斜
- NONE 取消任何效果
设置颜色
hi StatusLinehi StatusLine ctermfg=red ctermbg=bluehi StatusLinectermfg- 意思是
colorterminalforecolor - 前景色设置
- ctermfg=white
- 意思是
ctermbg- 意思是
colorterminalbackcolor - 被景色设置
- ctermfg=red
- 意思是
gui相关的属性呢- 与
gui相关 - 当前终端中无效果
- 与
- 颜色对应的色号是来自系统的ansi对应的颜色值
定义光标所在行的颜色效果
- 设置光标行高亮显示
:set cursorline:h 'cursorline':hi CursorLine:hi CursorLine ctermbg=red ctermfg=white:hi CursorLine- 随着光标的运动,CursorLine 也会移动
定义光标所在列的颜色效果
- 设置光标行高亮显示
:set cursorcolumn:h 'cursorcolumn':hi CursorColumn:hi CursorColumn ctermbg=red ctermfg=white:hi CursorColumn- 随着光标的运动,CursorColumn 也会移动
如果有换行问题的话
:set nowrap
自定义颜色名
定义
oeasy组:hi oeasy ctermbg=white ctermfg=red
查看
oeasy组:hi oeasy
应用
oeasy组:set statusline=%#oeasy#%F%*
配置文件
set statusline=%-040.40(%F%m%)%-030.30([%l,%c]%)%p%%set laststatus=2set rulerset numberset showcmdset nocompatibleset showcmdset showmodeset history=100set t_Co=256colorscheme blueset cursorlinehi CursorLine ctermbg=red ctermfg=whiteset cursorcolumnhi CursorColumn ctermbg=red ctermfg=white
总结
我们这次深入了配色方案
- 修改了方案中的具体配色
- 建立了自己的配色
- 应用了自己的配色
配置里面还有什么好玩的吗?
- 用来用去就是红绿蓝
- 可以有更多颜色吗?
- 下次再说
oeasy教您玩转vim - 24 - 自定颜色的更多相关文章
- 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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- [chatGPT]unity中,我希望一个角色有一个链表能获取到场上所有“creature”的transform,当creature增加或减少时刷新这个链表,我该怎么做?
关键字:unity游戏对象管理,unity,unity实例管理,unity触发方法 我 unity中,我希望一个角色有一个链表能获取到场上所有"creature"的transfor ...
- 【终极指南】使用Python可视化分析文本情感倾向
本文分享自华为云社区<Python理解文本情感倾向的终极指南>,作者: 柠檬味拥抱. 情感分析是一种通过自然语言处理技术来识别.提取和量化文本中的情感倾向的方法.Python在这一领域有着 ...
- Linux命令行优化,历史记录优化
#命令行优化: echo "export PS1='\[\033[01;31m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[00m\][\[\033[01 ...
- 对于UITableView和UIImageView的DrawRect重写之后的影响
一.继承 UITableView和UIImageView , 重写 DrawRect 方法,然后里面留空 ImageView @implementation DrawImageView - (void ...
- 自用电脑+外网开放+SSL认证(纯免费)
背景: 本文的目的主要是为了方便大家测试,不过有条件的情况下没必要学习了.主要是给那些没有服务器,公司也不给ssl认证的开发测试人员的一种方案:就像题目所说的那样. 纯免费,纯免费的话是有学习成本的, ...
- three.js高性能渲染室外场景
大家好,本文在相关文章的基础上,使用three.js渲染了高性能的室外场景,在移动端也有较好的性能,并给出了代码,分析了关键点,感谢大家~ 关键词:three.js.Web3D.WebGL.室外场景. ...
- C#开发的目录图标更改器 - 开源研究系列文章 - 个人小作品
因为有一些项目保存在文件夹里,然后想着用不同的图标来显示该文件夹,但是Windows提供的那个修改文件夹的操作太麻烦,需要的操作太多(文件夹里鼠标右键,属性,自定义,更改图标,选择文件,选择图标,点击 ...
- Java 获取当前时间的年、月、日、小时、分钟、秒数
public static void getDateTime() throws ParseException{ Calendar now = Calendar.getInstance(); Syste ...
- mklink命令使得OneDrive同步任意一个文件夹
本文介绍利用mklink命令,使得OneDrive自动同步电脑中任意指定文件夹的方法. OneDrive是由微软提供的云存储和文件同步服务.它提供了大量的云存储空间,允许用户将文件和数据存储在 ...
- Linux 内核:initcall机制与module_init
Linux 内核:initcall机制与module_init 背景 在做分享的时候,被资深的同事问起关于驱动加载时机与probe的问题.发现自己并不熟悉,因此学习了解一下. 学习本文你就可以知道,内 ...