vi编辑器的学习使用(二十九)

语法加亮功能是由位于$VIMRUNTIME/syntax/language.vim中的语法文件来控制的.如果我们对现在的语法加亮功不满意,我们可以为这些语法文件做一份拷贝,然后按照我们的想法进行修改.在Vim编辑器中我们有多种语言可以选择.
汇编语言:
现在有许多不同种类的汇编语言.但是在默认的情况下,Vim认为我们是使用GNU风格的汇编语言.其他的一些汇编语言如下:
asm        GNU汇编(默认)
asmh8300    Hitachi H-8300
masm        Microsoft MASM
nasm        Netwid 汇编
如果要想叫Vim知道我们正在使用一种其他的汇编语言,我们可以用下面的命令:
:let asmsyntax=language
这里的language就是我们在前面列出的关键字中的一个.
Basic
Visual Basic和标准的Basic都是使用以.BAS为扩展名的文件.为了区分这两种文件,Vim编辑器会读入5行并检查字符串VB_Name(以.FRM为扩展名的一般为Visual Basic)
C/C++
对于C/C++的语法颜色我们做出许多的自定义.如下面的一些内容:
c_comment_string        高亮显示注释中的字符串及颜色
c_space_errors            在<Tab>前显示空白符标记
c_on_trail_space_error        不显示空白符标记
c_no_tab_space_error        不在<Tab>前标记空格
c_no_ansi            不高亮显示ANSI类型及常量
c_ansi_typedefs            高亮显示ANSI宏定义
c_ansi_constants        高亮显示ANSI类型
c_no_utf            在字符串是高亮显示/u或是/U
c_no_if0            作为注释不要高亮显示#if0/#endif
有时也许我们会遇到在注释中或是#if0/#endif块中显示高亮错误.这时我们可以用CTRL-L命令来重绘屏幕来解决这样的问题.要想永久的来解决这样的问题,我们要使用下面的命令来增加查找语法匹配的行数:
:let c_minlines=number
在这个命令中的number是要查找的最小行数.将其设为一个相对较大的数可以帮助我们来解决类似这样的问题.
COBOL
在Vim编辑器中有两种COBOL的高亮显示:新的开发方式(fresh development)和古老的(legacy).我们可以用下面的命令来使用古老的高亮显示方式:
:let cobol_legacy_code=1
DTD
DTD常是大小写敏感的.如果我们希望其忽略大小的情况我们可以使用下面的命令:
:let dtd_ignore_case=1
语法加亮会将不可识别的标记识为错误.要关闭这个特征,我们可以用下面的命令:
:let dtd_no_tag_errors=1
存在参数的名字会使用注释组来高亮显示.我们可以用下面的命令来关闭这个特征:
:let dtd_no_parameter_entities=1
Eiffel
Eiffel并不区分大小写,但是标准的格式要求使用大小写.因而语法加亮的规则希望我们可以用这种标准的风格.我们可以用下面的命令来关闭大小的检查:
:let effiel_ignore_case=1
如果我们希望高亮显示可以正确的检查Current,Void,Result,Precursor,NONE我们可以用下面的命令:
:let eiffel_strict=1
如果我们希望不使用标准格式加亮我们可以用下面的命令来做到:
:let eiffel_pedantic=1
我们通过下面的命令可以使用小写形式的current,void,result,precursor,none:
:let eiffel_lower_case_predef=1
为了处理ISE的新语法,我们可以用下面的命令:
:let eiffel_ise=1
为了支持十六进制的常量,我们可以用下面的命令:
:let eiffel_hex_constants=1
ERLANG
ERLANG代表ERicsson LANGuage.语法加亮有两种选择:
erlang_keywords    不高亮显示关键字
erlang_characters    不高亮显示特殊字符
FVWM
FVWM是一个窗口管理器.如果我们要为这个程序编辑配置文件,我们可以用下面的命令来告诉Vim颜色文件的位置:
:let rgb_file="/usr/X11/lib/X11/rgb.txt"
这个例子展示了与Linux相匹配的rgb.txt文件的位置.其他的系统也许会放在/usr/lib或是其他的地方.
HTML
HTML语法文件使用下面的高亮标记:
htmlTitle
htmlH1
htmlH2
htmlH3
htmlH4
htmlH5
htmlH6
htmlBold
htmlBoldUnderline
htmlBoldUnderlineItalic
htmlUnderline
htmlUnderlineItalic
htmlItalic
htmlLink
如果我们要关闭语法加亮可以用下面的命令:
:let html_no_rendering=1
如果我们要为这些内容定义我们自己的颜色,我们可以将颜色设置的命令放在我们的VIMRC中然后使用下面的命令:
:let html_my_rendering=1
在一些文件中包含<!--和--!>或是<!和!>作为注释.如果我们希望这些注释高亮显示,我们可以用下面的命令:
:let html_wrong_comments=1
Java
Java语法有下面的一些选项:
java_mark_braces_in_parens_as_errors
如果设置了这个选项,位于括号中的花括号会被认为是错误
java_highlight_java_lang_ids    高亮显示所有位于java.lang.*中的标识符
java_highlight_functions="indent"    设置函数声明总是缩进
java_highlight_function="style"        设置函数声明不缩进
java_highlight_debug            高亮显示调试语句
java_allow_cpp_keywords
将所有的C/C++关键字识为错误.这个可以帮助我们避免使用他们,所以我们的代码可以更好的移植到C/C++.
java_ignore_javadoc        关闭高亮显示javadoc
java_javascript            打开在Javadoc内的Javascript加亮显示
java_css            加亮显示在Javadoc内的CSS样式表
java_vb                为Vbscript加亮显示
Lace
好的风格是要区分大小的.如果我们要关闭好风格的特征,我们可以用下面的命令:
:let lace_case_insensitive=1
Lex
Lex文件被由%%组成的行分隔成几个主要的部分.如果我们在写一个比较长的Lex文件,语法加亮也许就不会找到%%.为了解决这个问题,我们可以用下面的命令来增加语法操作的最小行数:
:syntax sync minlines=300
Lite
Lite使用类似于SQL的查询语句.我们可以用下面的命令来加亮字符串的SQL语句:
:let lite_sql_query=1
如果我们有很多的命令,我们希望增加语法加亮的行数:
:let lite_minlines=300
Maple
Maple
V,是一种符号语言.他有许多不同的包,使用者可以有选择的来装入.如果我们希望加亮所有的包,我们可以用下面的命令:
:let mvpkg_all=1
Perl
如果我们在我们的文件中加入了POD文档,我们可以打开POD语法加亮:
:let perl_include_POD=1
下面的选项可以改变Perl如何在引用中显示包名:
:let perl_want_scope_in_variables=1
如果我们要使用复杂的变量声明,我们可以用下面的命令:
:let perl_extend_vars=1
下面的命令会将字符串作为语句处理:
:let perl_string_as_statement=1
如果我们在同步方面有一些困难,也许我们要改变一些下面的选项:
:let perl_no_sync_on_sub=1
:let perl_no_sync_on_global=1
:let perl_sync_dist=lines
Php3
下面的选项控制Php3的高亮显示:
php3_sql_query    高亮显示字符串的查询
php3_baselib    高亮显示基本的库方法
php3_minlines    语法加亮中的同步行数
Phtml
加亮字符串中的SQL语法,我们可以用下面的命令:
:let phtml_sql_query=1
要改变窗口的同步,我们可以用下面的命令:
:let phtml_minlines=lines
PostScript
用于PostScript加亮的一些选项如下:
poster_level        设置PostScript语言的级别(默认为2)
poster_display        加亮PostScript的特征显示
poster_ghostscript    加亮显示GhostScript的语法
poster_fonts        加亮字符
poster_encodings    编码表
poster_andornot_binary    颜色逻辑操作不同
Printcap 和 Termcap
我们可以用下面的命令来增加同步的行数:
:let ptcap_minlines=100
Rexx
我们可以用下面的选项来设置同步的行数:
:let rexx_minlines=lines
Sed
要显示出Tab我们可以使用:set list选项.我们可以用下面的命令来以不同的方式高亮显示他们:
:let highlight_sedtabs=1
如果我们执行下面的命令就可以很容易的算出字符串的tab数:
:set tabstop=1
Shell
下面的选项可以改变脚本的高亮显示:
bash_is_sh        加亮bash语法
highlight_balanced_quotes    高亮显示双引号中的单引号
highlight_function_name        在声明中的高亮显示函数名
sh_minlines            设置同步的行数
sh_maxlines            限制同步显示的行数
Speedup
用于Speedup的一些选项如下:
strict_subsections        只高亮显示每一个子部分中的关键字
highlight_types            高亮显示流类型
oneline_comments=1        允许#注释后的任何数字
oneline_comments=2        以第二个#开始的代码视为错误
oneline_comments=3        如是在一行中有两个或是更多个#,将事先视为错误
Tex
Tex是一个很复杂的语言.如果编辑器没有找到结尾texZone,我们可以下面的内容放入我们的文件中:
%stopzone
TinyFugue
我们可以用下面的选项来为TinyFugue文件设置同步限制:
:let tf_minlines=lines

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值