高亮细节 highight
回忆
-
这个自动命令 autocmd 还是很方便的
-
打开时、保存时就会有自动执行的操作
-
自动命令有这么几大元素
-
{event} 触发事件
-
{pattern} 文件模式
-
{cmd} 具体执行命令
-
{augroup} 命令组
-
自动命令可以新建、删除、列表、查询
-
还可以强制执行
-
有这个我们可以
-
针对每种不同的文件的类型
-
定义相应的触发事件
-
然后执行各种各样的命令
-
方便操作
-
不过关于文件类型的高亮显示还是没有讲的特别清楚
-
为什么public在java文件里面就可以改变颜色呢??????
颜色方案
git clone
cd oeasyvim
vi oeasy.java
-
字符串是棕色的
-
public、void是绿色的
-
:colorscheme murphy
-
我们发现在murphy颜色方案下
-
字符串不变色了
-
public、void也不变色了
查看配色
语法文件syntax
-
我要找到关于java语法定义Syntax的文件java.vim
-
于是我搜索一下
-
sudo find / -name java.vim
-
这三个java.vim都位于系统的配置文件夹中
-
ftplugin 对应java的系统插件
-
ft 是 filetype
-
plugin 是 插件
-
/usr/share/vim/vim81/ftplugin/ 对应系统的插件
-
~/.vim/ftplugin 对于用户的插件
-
indent 对应java的系统缩进
-
syntax 对应java的系统语法
-
ls /usr/share/vim/vim81/syntax/java.vim
-
vi /usr/share/vim/vim81/syntax/java.vim
查找String
-
大概率String本身就是那个高亮元素
-
:q 退回到oeasy.java
设置高亮
-
:colorscheme murphy
-
:hi String ctermfg=brown
-
hi 是highlight
-
String是需要定义颜色的组名称
-
cterm是color terminal foreground
-
brown 是棕色
-
String的高亮设置成功
-
我们来分析一下什么是String
String的定义
-
:e /usr/share/vim/vim81/syntax/java.vim
-
/\
murphy.vim
-
sudo find / -name murphy.vim
-
vi /usr/share/vim/vim81/colors/murphy.vim
-
/String
-
sudo vi /usr/share/vim/vim81/colors/murphy.vim
-
在最末一行加上一句
-
保存murphy.vim并退出
-
vi oeasy.java 再切换到murphy配色
-
设置成功
-
我们再来看看 public 等关键字
找到public
-
vi /usr/share/vim/vim81/syntax/java.vim
-
/public
-
public、protected这些关键字都已经被定义到了一个javaScopeDecl里面
-
鼠标放到 javaScopeDecl 上 按下*
-
我们可以发现javaScopeDecl被定义为javaStorageClass
-
javaStorageClass被定义为StorageClass
尝试修改
-
回到oeasy.java
-
:hi StorageClass=cyan
-
修改成功
-
sudo vi /usr/share/vim/vim81/colors/murphy.vim
-
在最后添加 :hi StorageClass=cyan
-
然后再打开oeasy.java
-
试验成功!!!
总结
-
我们这次研究了一下配色方案
-
murphy虽然配色好看
-
但是对于java的支持并不好
-
我们对于murphy进行了修改
-
增加了String、StorageClass颜色的定义
-
整体思路是在syntax中定义组
-
然后在配色方案中对于组进行颜色设置
-
可是syntax中如何定义组的呢?????
-
下次再说!
阅读(497) | 评论(0) | 转发(0) |