这里用一个非常简单的例子来展示vim自定义自己的语法并高亮显示的设置流程。

所使用的实例语言是python,为了区分vim自带的python语法,我们把文件名保存为test.me,其内容如下图所示:

现在我们希望能够设置自己的语法,来高亮显示这段代码。

总共有三步,如下:


定义语法规则

首先要创建自己的语法规则:

进入目录~/.vim/syntax,在该目录下新建文件mysyntax.vim(名称随意,.vim结尾即可)

windows用户目录为$VIM_INSTALL/vimfiles/syntax($VIM_INSTALL为vim的安装目录)

之后在mysyntax.vim中输入:

syn keyword Conditional if
syn keyword InternalFunction print input

这里我们指定了if为关键词Conditional,print与input为关键词InternalFunction,Conditional与InternalFunction为我们自己定义的变量名。

暂时就添加这两行,先看看效果。


设置识别文件类型

接下来要设置vim在读入.me文件时,自动识别其语法为我们刚才定义的mysyntax:

进入目录~/.vim/ftdetect,在该目录下新建文件mysyn.vim(名称随意,.vim结尾即可)

windows用户目录为$VIM_INSTALL/vimfiles/ftdetect

之后在mysyn.vim中输入:

au BufRead,BufNewFile *.me set filetype=mysyntax

filetype的名字即为上一步新建的文件的文件名


给定义的语法变量指定颜色

在vim中输入:colorscheme查看当前使用的color文件名,例:molokai

然后打开~/.vim/colors/molokai.vim

在其中添加如下两行新定义的变量的颜色

hi Conditional guifg=#8DA5ED
hi InternalFunction guifg=Orchid

然后再重新打开test.me,流程走完


更多语法设置以及颜色设置可参见引用

ref:

http://vim.wikia.com/wiki/Creating_your_own_syntax_files

http://yyq123.blogspot.com/2011/02/vim-syntax.html

vim自定义语法高亮(syntax highlight)设置流程的更多相关文章

  1. VIM 自定义语法高亮配置

    VIM 没有自动支持语法高亮,自己动手搞一搞,网上查了一堆资料,终于配置成功, 记录一下,以便后期查看. 总共两步: step1 : 定义语法规则 1)需要创建一个定义语法规则的文件,这个 actio ...

  2. VIM C++语法高亮配色

    因工作需求,必须在终端下远程下代码,vim打开cpp/h文件,看到一连串的字母就傻了,根本无法阅读. 后来才知道VIM这高大上的文本编辑器支持很多的功能,很多的功能.首先最基本的就是语法高亮配色 1. ...

  3. vim 配置语法高亮 行号标示

    配置VIM主要是开启VIM的语法高亮和行号标示,因为默认在用户目录(~)下没有vimrc,所以需要先去复制一个,然后再编辑 cp /etc/vim/vimrc ~/.vimrc vim .vimrc ...

  4. Fedora CentOS Red Hat中让vim支持语法高亮设置

    Fedora / CentOS / Red Hat这三个系统里默认的vi是没有语法高亮显示的,白色的字体看起来很不舒服. 首先用命令行cat /etc/os-release查看当前linux系统的类型 ...

  5. 如何设置nesC在vim中语法高亮

    默认的vim没有支持nesC语法高亮,给阅读源码带来不便.不过可以通过装NesC Syntax Highlighting插件来解决这个问题,具体操作如下:   步骤一:下载插件 在http://www ...

  6. vim的语法高亮及配置文件说明

    本文主要针对那些刚刚入门的菜鸟,老手请自动忽略,谢谢. 一.安装vim: sudo pacman -S vim 随后根据提示输入超级用户密码即可完成安装 二.配置自己的语法高亮文件,主要是修改-/.v ...

  7. Mac下Vim配置语法高亮

    设置终端的字体颜色 如图,打开终端然后,选择偏好设置,再选择描述文件,再窗口左侧可以选择系统配置好的,或者你也可以自定义,最后别忘了把你的配置设置成默认就行 Vim语法高亮设置 只需要找到vimrc配 ...

  8. VS code自定义语法高亮

    语法高亮向导(Syntax Highlight Guide) (https://code.visualstudio.com/api/language-extensions/syntax-highlig ...

  9. JavaScript语法高亮库highlight.js使用

    highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用. 这款高亮库 ...

随机推荐

  1. 1. BeeGo 介绍与项目的创建,启动

    简介 BeeGo是一个快速开发Go而应用的HTTP框架,他可以用来快速开发API,web以及后端服务等各种应用,是一个restful 的框架,主要涉及灵感来源于tornado,sinatr和flask ...

  2. crontab修改默认编辑器

    crontab默认编辑器为nano 修改crontab默认编辑器为vi或者其他的编辑器 可以用命令select-editor修改 改为3或者4 再用crontab -e 就是vim打开了

  3. Android 安全提示 笔记

    http://developer.android.com/training/articles/security-tips.html1.数据存储内部存储internal storage存储的数据,只能由 ...

  4. 详解CorelDRAW中关于群组的操作

    CorelDRAW软件中的“群组”功能键主要用于整合多个对象.在进行比较复杂的绘图编辑时,通常会有很多的图形对象,为了方便操作,可以对一些对象设定群组.设定群组以后的多个对象,将被看作一个单独的对象. ...

  5. CentOS “/lib64/libc.so.6: version `GLIBC_2.14′ not found”系统glibc版本太低

    1.试图运行程序提示”libc.so.6: version `GLIBC_2.14′ not found”,原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的.2.查看系统gl ...

  6. webdriver+expected_conditions二次封装

    结合这两种方法对代码做二次封装,可以提升脚本性能 例: #coding:utf-8 #封装元素方法from selenium import webdriverfrom selenium.webdriv ...

  7. 【原】list<T>排序

    继承IComparable #region IComparable        public int CompareTo(object  obj)    {        if(obj is Sce ...

  8. 上机题目(0基础)- 用数组实现记事本(Java)

    用java实现一个记事本程序,记录记下的按键,代码例如以下: package com.java.test; import java.awt.Graphics; import java.awt.even ...

  9. 解决app频繁更新方案

    目前由于我们项目的特定场景,app的主要问题在于如何做到可以频繁更新而不需要频繁发布,尤其是ios,发布app store的周期基本上是2周左右,虽然可以通过企业号解决,但是后期的打包,分发给用户仍较 ...

  10. 5 -- Hibernate的基本用法 --4 8 外连接抓取属性

    外连接抓取能限制执行SQL语句的次数来提高效率,这种外连接抓取通过在单个select语句中使用outer join来一次抓取多个数据表的数据. 外连接抓取允许在单个select语句中,通过@ManyT ...