
每个程序员的文本编辑器缺少了语法高亮、特殊关键字和短语着色,都是不完整的。语法高亮突出了文档的结构,帮助发现排字错误,利于调试,整体上让文本编辑更轻松更有效率。本篇我们将探讨一下Vim的语法高亮范式以及如何建立和定制着色方案。
Vim着色方案:
首先说明,本文谈论的不是哪种颜色最好,而是Vim如何处理语法高亮的问题。
在决定如何给一个文件着色时,Vim首先将文件分解成若干结构组。这些都是通过编写好的语法命令文件来实现,这些文件在Vim加载一个文件的时候就自动加载了,加载过程则是基于一系列复杂规则。如果Vim选择了一个错误的语法命令文件,你可以通过以下命令手工指定一个正确的文件:
:setsyn=syntax-type
其中syntax-type是一个文件的类型。通常文件类型就是文件扩展名,例如选择PHP语法高亮,则将syntax-type设置为“php”。
Vim主要使用以下九种高亮分组:
复制代码
Comment??:注释
Constant?:常量,例如数字、引号内字符串、布尔值。
Identifier:变量标识符名称。
Statement?:编程语言的声明,一般是像“if”或“while”这样的关键字。
PreProc??:预处理,例如C语言中的“#include”。
Type???:变量类型,例如“int”。
Special??:特殊符号,通常是类似字符串中的“\n”。
Underlined:文本下划线。
Error???:显示编程语言错误的文本。
另外还有一个分组叫做Normal,表示普通文本。
也许你已经注意到,这些高亮分组主要针对编程语言,这是因为语法高亮对它们最有用。但是,Vim的高亮命令覆盖的文件类型远超过编程语言,包括从HTML到EMAIL的任何东西。
Vim还支持三种输出设备:black-and-whiteterminal(黑白终端),colorterminal(彩色终端)和GUI(图形化的用户接口)。因为它们每一个都有自己独特的高亮能力,Vim为它们维护了三个独立的高亮方案。
建立高亮:
实现高亮的最简便方式就是使用别人写好的.vimrc文件,就像这个。大多数时候这样做都挺好使。但是,如果它不好使或者你想从头开始,以下就是告诉你如何从头开始。
你必须在你的.vimrc文件的第一行写入:
syntaxon
这行命令告诉Vim开始使用语法高亮。如果你暂时不想改动文件,你也可以在Vim窗口输入它作为一行命令。
如果你正在使用黑白终端或者GUI接口,一切都工作得刚刚好。如果你正在使用一个支持彩色的终端,你也许不得不将以下命令置于syntaxon上一行:
setterm=ansi
你也可以尝试一下color_xterm来代替ansi。
选择颜色:
Vim有一套默认颜色方案,在我看来,有点过度明亮和混乱(注释和变量颜色是一样的)。但是每个人都有一套自己的颜色偏好,因此你可能会很想了解如何改变它的色彩来符合自己的口味。
Vim着色使用:highlight和:hi命令。:hi命令实际上是多用途命令,它负责许多例行着色,我们仅用它的颜色选择功用。它具有以下语法:
:hiGroupkey=value...
Group就是前面所说的9个高亮分组名。
key-value键值对规定了不同输出终端的高亮值。这里有三个基本键名:term、cterm和gui,代表着黑白终端、彩色终端和图形界面。除了term以外,另外两个基本键还有两个扩展键名base-namefg和base-namebg,分别代表对应终端的前景和背景颜色。基本键只能拥有非色彩的高亮值,例如加粗和下划线。
以下是一些高亮键和它们可能的值:
term/cterm/gui:bold,underline,reverse,italic,none
ctermfg/ctermbg:red,yellow,green,blue,magenta,cyan,white,blcak,gray
guifg/guibg:以上所有颜色,而且还可以使用#rrggbb格式色彩。
例如,我想高亮我的预处理声明为brightmagenta,可以使用如下命令:
:hiPreProcctermfg=magentacterm=boldguifg=#FF00FF
注意,我可以在一行中使用多个键值对,他们都会应用于同一个高亮分组。
通常来说,只要你喜欢一个着色方案,你可以将它设置在你的~/.vimrc文件中,Vim会自动将其加载。
语法高亮除错:
Vim的语法高亮偶尔也存在一些小问题,我就经常遭遇到其中的三个。
没有彩色,只有黑白终端高亮。
导致这种情况的最常见的原因是Vim无法确定终端是否具备彩色能力。要修复它,首先确保在.vimrc文件第一行设置了term=ansi,一定要在syntaxon所在行之前。另外还要在shell中将环境变量TERM设置为color_xterm和color-xterm。
颜色有了,但不是我想要的。
这常发生在你试图修改别人的.vimrc文件以为己用的时候。有时,你只需要将自己的色彩定义全部放到文件的底部去就可以修复。如果不奏效的话,检查所有可疑的代码,然后将它们注释。(注释方法为在行首添加双引号)
滚屏时颜色乱成一团
Vim在确定高亮法则的时候使用多种探索方法来节约时间,有时这会造成一些故障。查看:hsyn-sync可以得到更多细节。要修复这个,你可使用以下命令:
synsyncminlines=1000
你也可以在.vimrc文件中设置更大的数值。在Vim6.0及以上版本,你可以使用以下命令:
synsyncfromstart
该命令强制高亮引擎从文件第一行开始解析文件,这对大文件而言会很慢,但它可以确保色彩准确度。
此时此刻,如果你习惯了使用Vim,并且你已经鼓捣了一阵它的配置,发现一些你喜欢的特性,恭喜你,你现在是一个VimUser了。当然,在本教程中我还会教更多的关于Vim的东西,有人写了一整本关于编程的书,但我希望你从本教程可以掌握一些基础知识并且探索更多知识。享受学习,这是一项你永远不会后悔拥有的技能。
Tags:Vim.
WIFI共享软件(lazy WiFi)网络共享 / 750.88MB / 2021-7-1 / WinAll / / 小编点评:lazyWiFii是一款免费的能够帮.
下载
2017NBA全明星扣篮大赛视频回放平台视频播放 / 159.96MB / 2023-5-1 / WinAll, WinXP, Win7, win8 / / 小编点评:2017年的NBA全明星正赛今天上午已经结.
下载
McAfee Labs Stinger 迈克菲杀毒软件其它杀软 / 429.78MB / 2014-11-19 / WinXP, WinAll / / 小编点评:想必友友们电脑里有装过动辄几百兆的杀.
下载
电脑屏幕尺桌面工具 / 730.91MB / 2020-8-8 / WinAll, WinXP, Win7 / / 小编点评:电脑屏幕尺是一款显示在电脑桌面上的屏幕.
下载
企鹅梦物语FC修改器修改器(游戏工具) / 656.55MB / 2015-4-18 / WinAll, WinXP, Win7 / / 小编点评:企鹅梦物语修改器是同名游戏的作弊器工具,
下载
房租婆QQ表情包QQ表情 / 889.61MB / 2013-2-5 / WinAll, Win7 / / 小编点评:非常搞笑的房租婆QQ表情包,很喜欢.
下载
多功能通讯录邮箱工具 / 298.62MB / 2016-9-24 / Win2003, WinXP, Win2000, Win9X / / 小编点评:多功能通讯录2.0.1使用说明:1、.
下载
Alternate Math Solver数学解算器教育学习 / 668.4MB / 2019-10-8 / WinAll / / 小编点评:AlternateMathSolv.
下载
美图秀秀20100329摇头娃娃素材包图片素材 / 968.12MB / 2022-10-20 / WinAll, WinXP / / 美图秀秀 / 小编点评:美图秀秀20100329娃娃素材包.
下载
chrome标签页管理插件Toby浏览辅助 / 409.55MB / 2011-6-1 / WinAll / / 小编点评:Toby是一款用于管理chrome标签.
下载
圆圆打字高手V3.0.0.0下载 电脑学习 / 180.11MB / 2021-6-23 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍圆圆打字高手是一款打字练习及测试软.
下载
瑞易视频相册(视频相册制作软件)V2.2下载 图片处理 / 293.25MB / 2022-6-16 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍瑞易视频相册自带一个万能M.
下载
宏达法院收付款管理系统V5.0.15.9493下载 财务管理 / 521.70MB / 2017-5-16 / Win8,Win7,WinXP / 简体中文 / 商业软件 小编点评:软件介绍本软件是专门为法院部门管理本单.
下载
手指召唤师游戏下载-手指召唤师菲巴萨莫下载v1.0.5 安卓版
阿拉德之路官方-阿拉德之路手游(暂未上线)v1.37.1.211795 安卓最新版本
ar距离测量仪app下载-ar距离测量仪手机版下载v1.2.7 安卓版
保卫珍珠港中文版下载-保卫珍珠港游戏下载v1.2.6 安卓汉化版
泡泡总动员加强版下载-泡泡总动员手机版下载v1.2.5 安卓最新版
100教育一对一辅导下载-100教育一对一辅导专家下载v3.10.2 安卓版
全城无忧app下载-全城无忧客户端下载v1.0.2 安卓版
社会人传奇bt变态版下载-社会人传奇超v版手游下载v1.2.0 安卓飞升版
飞英环保手机版下载-飞英环保app下载v1.1.0 安卓版
汽水星座馆软件下载-汽水星座app下载v1.3.7 安卓手机版
个税计算器pro版官方下载安装-个税计算器pro软件(改名新个税计算器)下载v1.1.3 安卓最新版
华西云课堂app安卓下载安装-华西云课堂官方版下载v1.3.14 安卓版
网趣网上购物系统时尚版V14.0下载
程序源码 / 351.34MB / 2016-5-22 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
淘宝刷动态评分软件V4.2.9下载
进销存软件 / 323.75MB / 2014-7-15 / Win8,Win7,WinXP / 简体中文 / 试用软件 下载
Wave flow(音频编辑软件)V5.8免费版下载
音频处理 / 513.41MB / 2018-9-27 / Win7,Vista,Win2003,WinXP / 英文 / 共享软件 下载
PE文件读写工具下载-PE文件读写软件 v12.26 绿色版
文件管理 / 126.51MB / 2022-11-18 / WinAll / 简体中文 / 免费软件 下载
好实再增客系统app下载-好实再增客系统 v4.2.2 手机版
生活服务 / 619.69MB / 2020-6-30 / / 下载
新浪万剑辅助工具V2.3.5免费版下载
游戏辅助 / 219.86MB / 2018-9-6 / Win10,Win8,Win7,WinXP,Win2000 / 简体中文 / 免费软件 下载
爱心对对碰(暂未上线)
智力游戏 / 814.24MB / 2021-2-6 / Win8,Win7,Vista,WinXP / 英文 / 免费软件 下载
空之岛失落王国官方下载-空之岛失落王国手游下载v1.01.013 安卓版
角色扮演 / 16.34MB / 2013-3-1 / Android / 中文 / 本星工作室 / v1.01.013 安卓版 下载
乐高得宝世界免费下载-乐高得宝世界游戏下载v2.6.1 安卓版
儿童教育 / 254.13MB / 2022-10-5 / Android / 中文 / v2.6.1 安卓版 下载
宝宝爱识物学英语游戏下载-宝宝爱识物学英语最新版下载v1.0.0 安卓版
儿童教育 / 857.5MB / 2016-1-11 / Android / 中文 / 丙文科技(唐山)有限责任公司 / v1.0.0 安卓版 下载
动物狂欢派对官方版下载-动物狂欢派对游戏下载v1.0 安卓版
益智休闲 / 15.29MB / 2010-5-8 / Android / 中文 / 武汉市乃乐奇网络科技有限公司 / v1.0 安卓版 下载
feelunique下载安卓-feelunique中文官方版下载v3.2.0 安卓版
网络购物 / 76.37MB / 2016-8-4 / Android / 中文 / 深圳市海豚村信息技术有限公司 / v3.2.0 安卓版 下载
分钟视频官网下载-分钟视频app下载v1.1.33 安卓版
视频播放 / 67.36MB / 2016-1-27 / Android / 中文 / v1.1.33 安卓版 下载