自定颜色

回忆上节课内容

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

    • 找到了 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. Stable Diffusion 术语表

    Stable Diffusion 术语表 说明 原文地址:https://theally.notion.site/The-Definitive-Stable-Diffusion-Glossary-1d ...

  2. 人脸识别库 虹软 客户端 服务端 示例 基于虹软SDK在C/S 模式下的多人脸实时识别(C#)

    https://github.com/18628271760/MultipleFacesProcess 一.前言 虹软开发SDK以来,其免费使用的营销策略,成功降低了中小企业使用人脸识别技术的成本.然 ...

  3. claude3国内API接口对接

    众所周知,由于地理位置原因,Claude3不对国内开放,而国内的镜像网站使用又贵的离谱! 因此,团队萌生了一个想法:为什么不创建一个一站式的平台,让用户能够通过单一的接口与多个模型交流呢?这样,用户就 ...

  4. 7.22考试总结(NOIP模拟23)[联·赛·题]

    不拼尽全力去试一下,又怎么会知道啊 前言 又是被细节问题搞掉的一天. T1 的话,与正解相差无几,少打了两个 else 一个 ls 打成了 rs,然后就爆零了(本来还有 45pts 的),然后加了一个 ...

  5. Vue3组件通信方式

    Vue3组件通信方式 不管是vue2还是vue3,组件通信方式很重要,不管是项目还是面试都是经常用到的知识点. 比如:vue2组件通信方式 props:可以实现父子组件.子父组件.甚至兄弟组件通信 自 ...

  6. 获取某一个数的2进制位数以及bitmask

    举例说明:比如32对应的2进制为2b'100000,对应的bitmask为2b'11111. 实现代码: #include <stdio.h> typedef unsigned char ...

  7. ABC342

    E 建反图 + 拓扑排序. 先求出直接与 \(n\) 连接的点的答,就是最后一辆车的发车时间.然后再做拓扑排序. 假如我们知道点 \(u\) 的答案为 \(ans_u\) 并且 \(u,v\) 相连, ...

  8. C#.NET 简单使用log4net

    1.nuget 中安装log4net 2.添加一个配置文件"log4net2.config",内容如下: <?xml version="1.0" enco ...

  9. AI赋能ITSM:企业运维跃迁之路

    随着企业信息化建设的深入,IT运维管理作为保证企业信息系统稳定运行的重要工作,越来越受到重视. 那么,什么是IT运维呢? 简单地说,IT运维是一系列维护.管理和优化企业IT基础设施.系统和应用程序的活 ...

  10. Jupyter QtConsole 配置,2023 年了你还在使用 QtConsole 吗?

    目录 Jupyter QtConsole 配置,2023 年了你还在使用 QtConsole 吗? Jupyter QtConsole 的安装 设置字体 启动时自动加载需要的库包 更新:2023 年 ...