vim-colors-config
在vim中,主题是以插件形式存在。其中系统自带的主题,存放在$VIMRUNTIME/colors文件夹下,以*.vim命名。(注:查看$VIMRUNTIME请在vim中执行 :echo $VIMRUNTIME)
用户自定义的主题一般不放在系统目录下,而是放在~/.vim/colors目录下,这样不会干扰到其他用户,同时也方便备份自己的vim配置。
更换vim主题的命令为:
:colorscheme 主题插件名称
但是这样只能临时改变vim主题,退出后又会恢复原样,如果想永久改变,请在~/.vimrc中添加:
colorscheme 主题插件名称
♠ 准备工作
在linux下或远程ssh使用终端下的vim,因此首先需要在~/.vimrc中添加开启256颜色支持:
set t_Co=256
为了能在编辑程序时高亮显示关键字,还需要在~/.vimrc中开启语法高亮显示:
syntax enable
syntax on
做完上述的准备工作后,让我们正式开始定制主题之旅吧!
定制主题
主题色调
在配置其他属性前,首先要配置主题整体的色调,只有两个选择:dark和light(暗色调和亮色调)。对于经常阅读和编写代码的程序员来说,暗色调是更好的选择:
set background=dark
接下来,需要重新设置一下语法高亮,否则设置不会生效:
if version > 580
hi clear
if exists("syntax_on")
syntax reset
endif
endif
主题名称
主题名称是无参数调用 :colorscheme 时返回的信息,用于分辨不同主题,其设置如下:
let g:colors_name="nslib_color256"
基础属性
由于vim可以在黑白终端、彩色终端、GUI界面下运行,所以需要对其分贝进行配置,下面给出一个简要的文档说明:
term 黑白终端的属性
cterm 彩色终端的属性
ctermfg 彩色终端前景色
ctermbg 彩色终端背景色
gui GUI属性
guifg GUI前景色
guibg GUI背景色
对于黑白终端,我们没有配置的必要,因此主要的配置工作集中在彩色终端与GUI界面上,又由于彩色终端与GUI界面的配置只是关键字不同,因此这里只选取彩色终端进行说明。
由于不是所有终端都支持256色,因此使用一些安全色会使我们的主题更有移植性,而GUI可以支持所有颜色,不在考虑范围之内,vim文档给出的安全色如下:
"0 Black
"1 DarkBlue
"2 DarkGreen
"3 DarkCyan
"4 DarkRed
"5 DarkMagenta
"6 Brown, DarkYellow
"7 LightGray, LightGrey, Gray, Grey
"8 DarkGray, DarkGrey
"9 Blue, LightBlue
"10 Green, LightGreen
"11 Cyan, LightCyan
"12 Red, LightRed
"13 Magenta, LightMagenta
"14 Yellow, LightYellow
"15 White
(有的颜色和数字在不同的系统中不对应,可以自己尝试,大致是这样的)
配色语法
下面举例说明配色语法:
hi Type ctermfg=LightYellow ctermbg=Black cterm=bold
其中,hi是highlight命令的缩写,用于高亮配置;Type是要配色的元素名称;参数采用的是Key=Value的形式。
元素列表
配置颜色的语法非常简单,无需累赘,下面将分类介绍常用的元素标签:
状态栏提示信息
hi StatusLine 状态栏
hi StatusLineNC 非当前窗口的状态栏
ErrorMsg 错误信息
WarningMsg 警告信息
ModeMsg 当前模式
MoreMsg 其他文本
Question 询问用户
Error 错误
文本搜索
hi IncSearch 增量搜索时匹配的文本符串
hi Search 匹配的文本串
弹出菜单
Pmenu 弹出菜单
PmenuSel 菜单当前选择项
窗体边框相关
VertSplit 垂直分割窗口的边框
LineNr 行号
Cursor 光标所在字符
CursorLine 光标所在行
ColorColumn 光标所在列
ColorColumn 标尺
NonText 窗口尾部的~和@,以及文本里实际不显示的字符
diff模式
DiffAdd diff模式增加的行
DiffChange diff模式改变的行
DiffDelete diff模式删除的行
DiffText diff模式插入文本
C/C++语法
Comment 注释
PreProc 预处理
Type 数据类型
Constant 常量
Statement 控制语句
Special 字符串中的中的特殊字符
String 字符串
cCppString Cpp字符串
Number 数字
Todo TODO、HACK、FIXME等标签
vim-colors-config的更多相关文章
- linux vim taglist config
"vim config .vimrc "taglist map <silent> <F10> :TlistToggle let tlist_php_sett ...
- 转载:如何利用Vim进行Erlang开发
转自:http://ovalpo.info/how_to_use_vim_for_erlang_dev/ 如何利用Vim进行Erlang开发 by Martin J. Logan on Septemb ...
- 一个小博客教你把vim用飞起来
引言 今天我们特地来讲讲这个vim的配置. vim这东西, 很多人装逼的时候经常会提到, 不过大部分人对个vim的配置还是很陌生的, 因为 这个编辑器的学习成本还是有点高的, 但是不要紧, 今天我们就 ...
- Xshell连接ubuntu server端的vim(256色彩配置)
VIM主题(Xshell端) [注]我的配置:Xshell连接VMware Workstation Pro下的Ubuntu 18 server版(要注意这里的server版,好似该版本没有下述的256 ...
- 转 -- Vim 常用快捷键
``` 全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v : ...
- 将VIM打造成强大的IDE
转载自:所需即所获:像 IDE 一样使用 vim 如侵犯您的版权,请联系:2378264731@qq.com --------------------------------------------- ...
- 再探VIM配置
再探VIM配置 最初找到这个发行版spf13-vim,在ubuntu上用的还比较方便,有很多插件:最近在mac上用,总是不兼容vim,用brew安装了最新的vim,还是跟系统不兼容,总是有问题,于是就 ...
- 一个文档让vim飞起来
原文地址:http://www.cnblogs.com/songfy/p/5635757.html 引言 今天我们特地来讲讲这个vim的配置. vim这东西, 很多人装逼的时候经常会提到, 不过大部分 ...
- 所需即所获:像 IDE 一样使用 vim
所需即所获:像 IDE 一样使用 vim 转载 yangyangwithgnu@yeah.net2015-11-08 10:05:53 谢谢 捐赠:支付宝 yangyangwithgnu@yeah.n ...
- Vim as a Python IDE
参考视频:http://v.youku.com/v_show/id_XNDY4NTM4NzY0.html 好的,在我们默认的centos6的操作系统中使用的python2,我们一般会再去安装一个pyt ...
随机推荐
- Windows 8.1中WinRT的变化(一)——新增控件
这次WinRT的变化还是不小的,就拿新增控件来说,就有如下几种: AppBar 控件 我以前写过一篇文章接受过如何在WinRT程序中快速创建Metro风格图标,现在MS已经把他们标准化了,就不用我们自 ...
- ubifs & mtd
前天晚上在写完另一篇总结之时,赵XX向我咨询了关于mtd 和ubifs的相关内容.而我在这方面只是略懂皮毛,所以向他许愿共同调查这个方面的知识.经过昨天一天的调查,最后感觉是有了一定的经验和基础了,所 ...
- DELPHI7下SUPPEROBJECT遍历子对象的name和value
DELPHI7下SUPPEROBJECT遍历子对象的name和value var ite: TSuperAvlIterator; while ite.MoveNext do begin if ite. ...
- Android反编译调试源码
Android反编译调试源码 1. 反编译得到源码 直接在windows 命令行下输入命令java -jar apktool_2.0.0.jar d -d 小米运动_1.4.641_1058.apk ...
- win2008 安装 配置 mysql
安装的是windows Server 2008 R2 操作系统 按照国际管理,安装了数据库 MYSQL 5.0. 一路顺利,可以通过外部连接MYSQL的时候出现了问题,无论如何也连接不上 发 ...
- oracle 被另一个用户锁定
于是我就直接在上面改字段,在点打钩(记入改变)的时候提示,记录被另一个用户锁住,一开始还以为整个表被锁住了,后来发现,仅仅是这个字段不能改变,其他的字段可以. 网上找了资料,发现是:当多个用户并发地存 ...
- GCD部分使用方法
1,用gcd延迟运行任务 假设我们须要某个方法在一段时间后运行.那么我们经常会调用这个方案 - (void)viewDidLoad{ [super viewDidLoad]; [self perfor ...
- [Algorithm] Maximum Contiguous Subarray algorithm implementation using TypeScript / JavaScript
Naive solution for this problem would be caluclate all the possible combinations: const numbers = [1 ...
- 简易高重用的jdbcutils工具封装实现类以及简易连接池实现
因为如今发现做个小项目都是导入n多的依赖包,非常烦琐,仅仅想快点开发完一个个的小需求项目,这个时候真心不想用框架,仅仅能自己写个jdbcutils,尽管网上有非常多有apache的,阿里的,可是感觉用 ...
- functools.wraps
我们在使用 Decorator 的过程中,难免会损失一些原本的功能信息.直接拿 stackoverflow 里面的栗子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...