vim语法高亮插件编写
# vim语法高亮插件编写
编写vim语法高亮插件很简单,只需要编写两个文件.vim放到vim的
安装目录下的目录就可以了。
## 输出
-----------------------------
- syntax 目录,语法高亮规则,eg. bhl.vim
- ftdetect 目录,检测文件类型自动加载语法高亮规则,eg bhl.vim
## 备注
-----------------------------
-上面两个文件编写好后,放到对应目录下即可。
- .hbl 直接使用语法规则
- 直接原始抓包文件,手工指定文件类型 :set filetype=bhl
## 语法高亮插件 bhl.vim
-----------------------------
```
" Vim syntax file
" filetype: bhl
" Language: BusHoundLog
" Maintainer: lixu <lixugood@126.com>
" Last change: 2017 Jun 01
"
" Language Information
"
" BusHound 抓包日志
" ic卡抓包指令分析,可以高亮显示指令
"
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn keyword BHout OUT
syn keyword BHin IN
"syn match BHout "^ \d\+.\?\d\?\s\+OUT\s\+.*"
"syn match BHin "^ \d\+.\?\d\?\s\+IN\s\+.*"
syn match BHok "90\s\+00"
syn match BHfind "\(ff\s\+04\s\+01\)\|\(ff\s\+ca\)"
"syn match BHslct "00\s\+a4\s\+0[04]"
syn match BHread "\(ff\|00\)\s\+b[02]"
syn match BHupdt "\(ff\|0[04]\)\s\+d[6c]"
syn match BHauth "ff\s\+88"
"--------------修改----------------- lixu
"--------------用户卡指令
syn match B_Crd_CPU "00\s\+20"
syn match B_Crd_CPU "00\s\+82"
syn match B_Crd_CPU "00\s\+84"
syn match B_Crd_CPU "00\s\+88"
syn match B_Crd_CPU "00\s\+a4"
syn match B_Crd_CPU "00\s\+20"
syn match B_Crd_CPU "00\s\+82"
syn match B_Crd_CPU "00\s\+84"
syn match B_Crd_CPU "00\s\+88"
syn match B_Crd_CPU "00\s\+a4"
syn match B_Crd_CPU "00\s\+b0"
syn match B_Crd_CPU "00\s\+b2"
syn match B_Crd_CPU "00\s\+c0"
syn match B_Crd_CPU "00\s\+d6"
syn match B_Crd_CPU "04\s\+d6"
syn match B_Crd_CPU "00\s\+d0"
syn match B_Crd_CPU "04\s\+d0"
syn match B_Crd_CPU "00\s\+dc"
syn match B_Crd_CPU "04\s\+dc"
syn match B_Crd_CPU "00\s\+d2"
syn match B_Crd_CPU "04\s\+d2"
syn match B_Crd_CPU "04\s\+d0"
syn match B_Crd_CPU "84\s\+16"
syn match B_Crd_CPU "84\s\+18"
syn match B_Crd_CPU "84\s\+1e"
syn match B_Crd_CPU "80\s\+24"
syn match B_Crd_CPU "84\s\+24"
syn match B_Crd_CPU "80\s\+2c"
syn match B_Crd_CPU "80\s\+50"
syn match B_Crd_CPU "80\s\+52"
syn match B_Crd_CPU "80\s\+54"
syn match B_Crd_CPU "80\s\+58"
syn match B_Crd_CPU "80\s\+5a"
syn match B_Crd_CPU "80\s\+5c"
syn match B_Crd_CPU "80\s\+5e"
syn match B_Crd_CPU "80\s\+0e"
syn match B_Crd_CPU "80\s\+30"
syn match B_Crd_CPU "80\s\+32"
syn match B_Crd_CPU "80\s\+d4"
syn match B_Crd_CPU "84\s\+d4"
syn match B_Crd_CPU "80\s\+e0"
"--------------SAM卡指令
syn match B_Crd_SAM "80\s\+70"
syn match B_Crd_SAM "80\s\+72"
syn match B_Crd_SAM "80\s\+fa"
syn match B_Crd_SAM "80\s\+1c"
syn match B_Crd_SAM "80\s\+1a"
"-------------错误信息
syn match B_Error "65\s\+00"
syn match B_Error "67\s\+00"
syn match B_Error "68\s\+82"
syn match B_Error "69\s\+01"
syn match B_Error "69\s\+81"
syn match B_Error "69\s\+82"
syn match B_Error "69\s\+83"
syn match B_Error "69\s\+84"
syn match B_Error "69\s\+85"
syn match B_Error "69\s\+86"
syn match B_Error "69\s\+87"
syn match B_Error "69\s\+88"
syn match B_Error "6a\s\+80"
syn match B_Error "6a\s\+81"
syn match B_Error "6a\s\+82"
syn match B_Error "6a\s\+83"
syn match B_Error "6a\s\+84"
syn match B_Error "6a\s\+85"
syn match B_Error "6a\s\+86"
syn match B_Error "6a\s\+88"
"syn match B_Error "6b\s\+00"
syn match B_Error "6e\s\+00"
syn match B_Error "6f\s\+00"
syn match B_Error "6a\s\+86"
syn match B_Error "93\s\+02"
syn match B_Error "93\s\+03"
syn match B_Error "94\s\+01"
syn match B_Error "94\s\+02"
syn match B_Error "94\s\+03"
syn match B_Error "94\s\+06"
syn match B_Error "63\s\+c\d"
"--------------读卡控制指令
syn match BCrd "00\s\+62"
syn match BCrd "00\s\+63"
syn match BCrd "00\s\+6f"
syn match BCrd "00\s\+6f"
syn match B_Drd "00\s\+50"
syn match B_Drd "ff\s\+01"
syn match B_Drd "ff\s\+02"
syn match B_Drd "ff\s\+03"
syn match B_Drd "ff\s\+04"
syn match B_Drd "ff\s\+05"
syn match B_Drd "ff\s\+06"
syn match B_Drd "ff\s\+8a"
syn match B_Drd "ff\s\+8b"
syn match B_Drd "ff\s\+8c"
"----------------Mifare卡
syn match B_Drd "ff\s\+82"
syn match B_Drd "ff\s\+88"
syn match B_Drd "ff\s\+b0"
syn match B_Drd "ff\s\+d6"
syn match B_Drd "ff\s\+ca"
syn match B_Drd "ff\s\+cb"
syn match B_Drd "ff\s\+cc"
syn match B_Drd "ff\s\+cd"
"--------------配色
hi BCrd guifg=gray
hi BHout guifg=yellow
hi BHin guifg=blue
hi BHfind guifg=DarkOliveGreen1 guibg=grey15
hi BHok guifg=grey15 guibg=green
hi link BHfind BHok
hi BHslct guifg=green guibg=blue
hi BHread guifg=purple guibg=grey
hi BHupdt guifg=brown guibg=grey
hi BHauth guifg=magenta guibg=grey
"-------------------配色
hi B_Crd_SAM guifg=grey15 guibg=yellow
hi B_Crd_CPU guifg=grey15 guibg=blue
hi B_Error guifg=grey15 guibg=red
hi B_Drd guifg=lightmagenta
let b:current_syntax = "BusHoundLog"
```
## 文件类型管理 bhl.vim
-----------------------------
```
" bhl filetype file
au BufRead,BufNewFile *.bhl set filetype=bhl
```
[参考](http://www.cnblogs.com/plwang1990/p/4106695.html)
vim语法高亮插件编写的更多相关文章
- 一个C#语法高亮插件
语法高亮对程序员阅读代码来说有着不小的帮助,虽然VisualStudio本身支持C#语法高亮,但也只是对关键字.类名.字符串等少数元素加了标记,而我们代码中主题:变量.函数.属性.事件等都没有进行高亮 ...
- 12款最佳的 WordPress 语法高亮插件推荐
语法高亮工具增强了代码的可读性,美化了代码,让程序员更容易维护.语法高亮提供各种方式由以提高可读性和文本语境,尤其是对于其中可以结束跨越多个页面的代码,以及让开发者自己的程序中查找错误.在这篇文章中, ...
- ubuntu 12.04 lts安装golang并设置vim语法高亮
安装golang sudo apt-get install golang 设置vim语法高亮 sudo apt-get install vim-gocomplete gocode vim-syntax ...
- sublime的Vue语法高亮插件安装
1.准备语法高亮插件vue-syntax-highlight. 下载地址: https://github.com/vuejs/vue-syntax-highlight 下载页面并下载: 解开压缩包vu ...
- 写了一个Hy的vscode语法高亮插件
-------2018 8 3----------- 把函数名和参数改了,正则有点古怪,参考自带的lambda表达式才搞定 但彩色括号走了弯路,各种配图有彩色括号的插件其实很少是自己搞的,其实只要再装 ...
- js 语法高亮插件之 Prism.js
之前也介绍过几款语法高亮插件<为博客园选择一个小巧霸气的语法高亮插件>以及关于他们的综合性能<再议 语法高亮插件的选择>.今天在小影志博客看到<使用 Prism.js 实 ...
- 2017-12-24 为新语言编写Visual Studio Code语法高亮插件
本文源码库: program-in-chinese/quan4-highlighter 语法高亮是一个开发环境的基本功能. 此文尝试为之前的"圈4"语言(详见编程语言试验之Antl ...
- 如何快速编写Vim语法高亮文件
这里有一份中文的入门文档,但是太长了,不想读,所以有本文 最快的办法,就是找一个语法相近的语法高亮文件,稍微改一下 自己从头写的话,首先搞定关键字: syntax case match "是 ...
- vim语法高亮不起作用解决
首先将vim更新为最新版yum -y install vim,并安装Vim的加强版vim-enhanced ,以安装支持彩色的组件 yum -y install vim-enhanced 接下来 ...
随机推荐
- centos7 将服务添加到systemctl
centos7中提供了systemd服务,可以方便的管理各种服务 但是有些通过编译安装的服务systemd里面没有,我们只需要添加一下服务文件即可 以下用nginx作为例子,展示如何添加服务到syst ...
- js 中小数取整的函数
1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ...
- MongoDB分片集群常用操作
下架主节点: db.adminCommand({replSetStepDown : 1, force : true}) 删除节点: rs.remove("IP:PORT") 新增节 ...
- [转]JQuery - Sizzle选择器引擎原理分析
原文: https://segmentfault.com/a/1190000003933990 ---------------------------------------------------- ...
- angular 的进一步深入理解
早上同事问我个问题,angular 的表单验证有没有啥第三方库可以用? 这个问题,我想了下,之前我做的表单验证好像也没用到第三方的库来验证,直接用angular 内置的 directive 就可以搞定 ...
- TestNG 八 并发测试
一. Concurrenttesting: 下面的例子是输出进程ID,threadPoolSize用来指明线程池的大小,也就是并发的线程数目是多少 5次调用,有3个线程可调用 @Test(invoca ...
- Solidworks如何等比例缩小放大模型
比如初始化的模型,笔记本长度只有120mm,实际上应该是3倍左右 右击特征,勾选模具工具,然后可以发现多出来一个页面 点击比例缩放,选中要缩放的特征,设置比例,然后打钩 可以发现已经缩放到 ...
- java中Queue接口
Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Queue接 口.Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类 ...
- windows系统中常用的快捷键
开发中,一些常用的键盘技巧: (1)快速切换桌面(alt+tab)或者是(window+tab) (2)迅速关闭当前页面 (3)迅速收起所有页面 (4)直接回到桌面页面 (5)锁定你的屏幕
- SQLiteDatabase 源码
/** * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Vers ...