自定颜色

回忆上节课内容

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

    • 找到了 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. mysql-8.4.0解压版安装记录

    MySQL 8.4.0解压版安装记录 这几天,安装最新版mysql 8.4的时候,遇到了不少问题,网上的教程大多数都是旧版本的,也安装不成功. 参考了大量教程后,经过自己的摸索终于装好了,这里记录一下 ...

  2. 解密Prompt系列29. LLM Agent之真实世界海量API解决方案:ToolLLM & AnyTool

    很早之前我们就聊过ToolFormer,Gorilla这类API调用的Agent范式,这一章我们针对真实世界中工具调用的以下几个问题,介绍微调(ToolLLM)和prompt(AnyTool)两种方案 ...

  3. 张同乐-从零开始,打造高效可靠的Locust性能测试

    一.前言 欢迎来到Locust负载测试的世界!Locust是一款开源的负载测试工具,它可以模拟成千上万的用户同时访问你的应用程序,以测试其性能和稳定性. 这个工具具有易于使用.可扩展和高度可定制化等特 ...

  4. Android 13 - Media框架(24)- OMXNodeInstance(一)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 为了了解 ACodec 是如何与 OpenMAX 组件进行 buffer 流转的,我们有必要先来学习 OMXNodeInstance,在前面的章节中 ...

  5. 从零开始写 Docker(十六)---容器网络实现(上):为容器插上”网线”

    本文为从零开始写 Docker 系列第十六篇,利用 linux 下的 Veth.Bridge.iptables 等等相关技术,构建容器网络模型,为容器插上"网线". 完整代码见:h ...

  6. 『手撕Vue-CLI』拉取版本号

    开篇 在上一篇文章中,给 nue-cli 添加了与用户终端交互的功能,这一次来实现一个拉取版本号的功能. 这个功能的背景是,有时候我们在使用脚手架的时候,不同版本的脚手架可能会有不同的功能,所以用户有 ...

  7. Qt-FFmpeg开发-音频解码为PCM文件(9)

    音视频/FFmpeg #Qt Qt-FFmpeg开发-使用libavcodec API的音频解码示例(MP3转pcm) 目录 音视频/FFmpeg #Qt Qt-FFmpeg开发-使用libavcod ...

  8. 用Python脚本迁移MongoDB数据到金仓-kingbase数据库

    1.首先需要明确MongoDB与kingbase的对应关系,collection相当于table,filed相当于字段,根据这个对应关系创建表: 此次迁移的MongoDB里的数据字段是:_id(自动生 ...

  9. 详解在Linux中同时安装配置并使用 MySQL5.7 和 MySQL8.0

    最近需要使用mysql8.0版本,但是原本的mysql5.7版本已经被多个服务依赖,于是想想能不能同一台服务器装多个版本的mysql,一查确实可行,这里做一个记录方便自己后期回忆 阅读本文前请注意!! ...

  10. Linux扩展篇-shell编程(五)-流程控制(二)-case语句

    基本语法: case expression in pattern1) statement1 ;; pattern2) statement2 ;; *) statement3 ;; esac 注意事项: ...