• 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

  • 相关阅读:
    python文件句柄只能用一次的误解
    字符编码后续...记事本"联通"小插曲
    字符编码
    python problem
    vue-cli3 vue-config.js配置 概况
    ssh-keygen 不是内部或外部命令
    好的文章的链接收藏
    urlArgs 请require 缓存
    js 类型判断
    阻止冒泡和取消默认事件(默认行为)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/2462128.html
Copyright © 2020-2023  润新知