linux中的语法高亮

写程序没有语法高亮将是一件多么痛苦的事情啊, 幸亏vim的作者是个程序员(如果不是, 那可NB大了), 提供了语法高亮功能, 在上面的图片中大家也可以看到那些注释, 关键字, 字符串等, 都用不同颜色显示出来了, 要做到这样, 首先要在你的 ~/.vimrc 文件中增加下面几句话:
syntax enable
syntax on
再重新启动vim, 并打开一个c程序文件, 是不是觉得眼前突然色彩缤纷了起来...
如果你不喜欢这个配色方案你可以在"编辑->配色方案"(gvim)中选择一个你满意的配色方案, 然后在~/.vimrc文件中增加下面这句:
colorscheme desert
desert是我喜欢的配色方案, 你可以改成你的. 如果菜单中的配色方案你还不满意(你也太花了吧), 没关系, 在 vim.org 上跟你一样的人很多, 他们做了各种各样的颜色主题, 你可以下载下来一个一个的试, 多地可以看到你眼花. 如果这样你还不满意(你还真是XXXX), 没关系, vim的作者早想到会有你这种人了, 你可以创建你自己的颜色主题, 把下面的这篇文档好好学习一些一下吧:
:help syntax.txt

更炫的语法高亮:
你可能会发现很多东西没有高亮起来, 比如运算符号, 各种括号, 函数名, 自定义类型等, 但是看上面的图片, 我的运算符号和函数名都加亮了^_^, 想知道为什么吗? 哇哈哈哈哈.... 让我来教你吧 ...

主要的思路是新建一个语法文件, 在文件中定义你要高亮的东东, 想高亮什么就高亮什么, 用vim就是这么自信. 所谓的语法文件就是vim用来高亮各种源文件的一个脚本, vim靠这个脚本的描述来使文件中的不同文本显示不同的颜色, 比如C语言的语法文件放在类似于这样的一个路径中:
/usr/share/vim/vim64/syntax/c.vim
其他语言的语法文件也可以在这个路径中找到, 你的也许不在这个路径中, 不管它, 在你自己的HOME下新建一个语法文件, 新建一个空文件:
~/.vim/syntax/c.vim
在其中加入
"========================================================
" Highlight All Function
"========================================================
syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^()]*)("me=e-2
syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>/s*("me=e-1
hi cFunction gui=NONE guifg=#B5A1FF

"========================================================
" Highlight All Math Operator
"========================================================
" C math operators
syn match cMathOperator display "[-+/*/%=]"
" C pointer operators
syn match cPointerOperator display "->/|/."
" C logical operators - boolean results
syn match cLogicalOperator display "[!<>]=/="
syn match cLogicalOperator display "=="
" C bit operators
syn match cBinaryOperator display"/(&/||/|/^/|<</|>>/)=/="
syn match cBinaryOperator display "/~"
syn match cBinaryOperatorError display "/~="
" More C logical operators - highlight in preference to binary
syn match cLogicalOperator display "&&/|||"
syn match cLogicalOperatorError display "/(&&/|||/)="

" Math Operator
hi cMathOperator guifg=#3EFFE2
hi cPointerOperator guifg=#3EFFE2
hi cLogicalOperator guifg=#3EFFE2
hi cBinaryOperator guifg=#3EFFE2
hi cBinaryOperatorError guifg=#3EFFE2
hi cLogicalOperator guifg=#3EFFE2
hi cLogicalOperatorError guifg=#3EFFE2

再打开你的C文件看看, 是不是又明亮了许多. 还有一个压箱底的要告诉你, 如果你自己增加了一个类型或者结构之类的, 怎么让它也象"int", "void"这样高亮起来呢? 再在上面的文件~/.vim/syntax/c.vim中添加下面的东东:
"========================================================
" My Own DataType
"========================================================
syn keyword cType My_Type_1 My_Type_2 My_Type_3
这样你自己的类型My_Type_1, My_Type_2, My_Type_3就也可以向"int"一样高亮起来了, 这样的缺点是每增加一个类型, 就要手动在这里添加一下, 如果有人知道更简单的方法请一定一定要告诉我, 用下面的地址:
Email : lazy.fox.wu#gmail.com
Homepage : http://blog.csdn.net/wooin

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
语法高亮 HighlightTextEditor是一个安卓代码语法高亮控件,目前已经支持200多种语言,近90多种主题配色方案,同时支持lua扩展,以及自定义语言配置。强烈推荐,一款不可多得的开源控件。 支持的语言: abap4.lang clojure.lang innosetup.lang nxc.lang s.lang abc.lang clp.lang interlis.lang oberon.lang sas.lang abnf.lang cobol.lang io.lang objc.lang scala.lang actionscript.lang coldfusion.lang jasmin.lang ocaml.lang scilab.lang ada.lang conf.lang java.lang octave.lang scss.lang agda.lang crk.lang js.lang oorexx.lang sh.lang algol.lang csharp.lang jsp.lang os.lang small.lang ampl.lang css.lang ldif.lang oz.lang smalltalk.lang amtrix.lang d.lang less.lang paradox.lang sml.lang applescript.lang dart.lang lhs.lang pas.lang snmp.lang arc.lang diff.lang lilypond.lang pdf.lang snobol.lang arm.lang dylan.lang limbo.lang perl.lang spec.lang as400cl.lang ebnf.lang lindenscript.lang php.lang spn.lang ascend.lang eiffel.lang lisp.lang pike.lang sql.lang asp.lang erlang.lang logtalk.lang pl1.lang squirrel.lang aspect.lang euphoria.lang lotos.lang plperl.lang styl.lang assembler.lang express.lang lotus.lang plpython.lang swift.lang ats.lang fame.lang lua.lang pltcl.lang sybase.lang autohotkey.lang felix.lang luban.lang pov.lang tcl.lang autoit.lang fortran77.lang make.lang pro.lang tcsh.lang avenue.lang fortran90.lang maple.lang progress.lang tex.lang awk.lang frink.lang matlab.lang ps.lang ts.lang bat.lang fsharp.lang maya.lang ps1.lang
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值