自定颜色

回忆上节课内容

  • 这次我们研究了配色方案

    • 找到了 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 行开始设置各种高亮组的颜色
  • 我们先修改第一个高亮组 Normal

    • Normal的意思是一般文字
    • 这类的文字都属于这个高亮组
    • 与此类似的还有

      • 注释Comment
      • 常量Constant

改变 Normal 高亮组颜色

  • 首先把配色方案名称改为 oeasy
  • 找到 Normal
  • Normal 组的背景色ctermbg 改为 blue
  • Normal 组的前景色 ctermfg 改为 yellow
  • :w 保存配色文件
  • colorscheme oeasy 重新设定配色文件

查看配色

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

配色细节

  • hihighlight 的缩写
  • :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 StatusLine
  • hi StatusLine ctermfg=red ctermbg=blue
  • hi StatusLine
  • ctermfg

    • 意思是color terminal fore color
    • 前景色设置
    • ctermfg=white
  • ctermbg

    • 意思是color terminal back color
    • 被景色设置
    • 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=2
  • set ruler
  • set number
  • set showcmd
  • set nocompatible
  • set showcmd
  • set showmode
  • set history=100
  • set t_Co=256
  • colorscheme blue
  • set cursorline
  • hi CursorLine ctermbg=red ctermfg=white
  • set cursorcolumn
  • hi CursorColumn ctermbg=red ctermfg=white

总结

  • 我们这次深入了配色方案

    • 修改了方案中的具体配色
    • 建立了自己的配色
    • 应用了自己的配色
  • 配置里面还有什么好玩的吗?

    • 用来用去就是红绿蓝
    • 可以有更多颜色吗?
  • 下次再说

oeasy教您玩转vim - 24 - 自定颜色的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  10. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

随机推荐

  1. 将python文件转换成exe可执行文件

    一.安装Pyinstaller pip install pyinstaller(Pyinstaller) 二.找到 .py文件的路径并执行如下命令 pyinstaller -F 要转换的文件.py 三 ...

  2. CSS——阴影

    <!DOCTYPE html> <html> <head> <style> p.one { text-shadow: 3px 5px 5px #FF00 ...

  3. Android 12(S) MultiMedia Learning(九)MediaCodec

    这一节来学习MediaCodec的工作原理,相关代码路径: http://aospxref.com/android-12.0.0_r3/xref/frameworks/av/media/libstag ...

  4. Swift全局变量的线程安全分析

    一.示例代码 import UIKit let obj = TestObj() class TestObj { init() { print("\(type(of: self)) init& ...

  5. 网页CSS源码

    EntryTag { margin-top:20px; font-size:9pt; color:gray } .topicListFooter { text-align:right; margin- ...

  6. 浅谈ChatGPT模型中的惩罚机制

    本文由ChatMoney团队出品 在探讨ChatGPT模型的文本生成能力时,除了采样算法,惩罚机制同样扮演着至关重要的角色.这些机制不仅影响生成文本的多样性和创意性,还为我们提供了调整文本风格和质量的 ...

  7. 使用 OpenTelemetry 构建可观测性 04 - 收集器

    在之前的博文中,我们讨论了如何使用 SDK 和链路追踪生产者来导出进程中的遥测数据.尽管有多种类型的导出器可供选择,但其中一个常见的目标是将数据导出到 OpenTelemetry Collector. ...

  8. redis高可用哨兵篇

    https://redis.io/docs/manual/sentinel/#sentinels-and-replicas-auto-discovery 官网资料 在上文主从复制的基础上,如果注节点出 ...

  9. work12

    day12   一.请简述集合框架. 集合是单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set.其中,List的 ...

  10. spring eureka服务注册配置,排查服务注册上来了,但是请求没有过来。检查是否服务注册配置错误

    spring eureka服务注册配置,排查服务注册上来了,但是请求没有过来.检查是否服务注册配置错误 解决方法: 去掉该配置eureka.instance.hostname = client微服务的 ...