启用/禁用 我们可以使用 以上命令只在当前文件中有效。而以下命令则对所有缓冲区中的文件立刻生效。 我们可以使用 识别文件 Vim通过识别文件的扩展名来选择相应的语法高亮显示。如果没有使用传统的扩展名,那么就需要设置filetype选项,来告诉Vim正在编辑的文件类型。例如使用以下命令,告诉Vim我们正在编辑一个C程序文件:
修改语法文件 语法高亮显示,是由位于$VIMRUNTIME/syntax/language.vim中的语法文件来控制的。主要经过两步来实现:首先,确定需要格式化的字符;然后,定义如何显示这些字符(请参看配色方案)。 例如可以使用以下命令,将所有FIX和ENDFIX关键字显示为特定颜色:
其中,第一条命令,创建名为cscFix的匹配模式;第二条命令,使用青色显示匹配的文本。 而以下命令,将使用预定义的格式来显示文本:
其中,第一条命令,定义包含特定关键字的匹配模式;第二条命令,链接该模式到已存在的格式设置。 通过以下命令,可以获得语法高亮度的帮助信息:
语法文件实例 使用以下命令,匹配代码的开头和结尾,可用于识别代码注释:
即使在限定的区域内,我们仍然可以使用以下命令,来格式化特定的语法元素:
其中,第一条命令,定义包含TODO关键字的匹配模式;第二条命令,说明在注释中包含高亮显示的待办事宜。 当然,在contains中可以指定用逗号分隔的多个包含项。这些语法组因而被允许包含在本项目里。这使得匹配和区域的递归嵌套成为可能。在contains参数中,还可以包含以下特殊关键字: contains=ALL 如果唯一在包含列表里出现的名字是'ALL',那么本项目里可以包含所有的组; contains=ALLBUT,{group-name}... 如果包含列表的第一个名字是'ALLBUT',那么除了列出的组以外,所有其它的组都可以出现在本项目里。 contains=CONTAINED 如果包含列表的第一个名字是 'CONTAINED',那么所有包含'contained' 参数的组都可以接受。 contains=TOP 如果包含列表的第一个名字是'TOP',那么所有不包含'contained'参数的组都可以接受。 例如,以下命令将选择myComments以外的所有组:
我们还可以使用以下命令,将多个group组合成一个cluster:
通过在cluster名称之前加上@符号,就可以在命令中引用它们:
新增语法定义 如果需要为已有的语法设置增加内容,当然你可以直接修改内置的语法文件。而更好的方法是,利用Vim的后期处理功能(post-processing):你可以将自定义的语法文件,放入$VIMHOME/after/syntax目录(如果该目录不存在,请手工创建)。当Vim载入脚本、语法和配色时,它也会查找after目录,如果找到相同名称的文件(比如c.vim),那么将会用after目录中文件的内容覆盖原有的设置。 请使用以下命令,查看后期处理的帮助信息:
新增语法类型 如果想要使用Vim未知的文件类型,那么需要在$VIMHOME/filetype.vim文件中进行注册:
在filetype.vim文件中增加以上命令后,Vim就能够自动识别新的文件类型并匹配相应的语法高亮度。 使用以下命令,可以查看关于新增文件类型的帮助信息:
网页显示语法高亮度 使用 请使用以下命令,查看HTML转换的帮助信息:
|
|
来自: yusihai719 > 《vim》