最近学习51单片机,使用Keil进行汇编编写代码时很多关键字没有高亮显示很不习惯,本身Keil鼠标选择字段操作就让人很无语,因此编辑ASM汇编文件都是用自己比较喜欢的EditPlus。EditPlus支持强大的、可自定义的语法高亮功能,可以创建自己的语法文件来支持其它设计语言。只要将创建的语法文件添加到“参数选择”对话框中的“设置&语法”中即可。但是网上没有现成的语法配置,有也是很多关键字显示不全,因此自己改了一个,用的还行。
要用EditPlus语法高亮,就先了解语法文件究竟怎么编辑,里面的参数代表什么。可参见java.stx。
说白了语法文件是一个扩展名为“.stx”并按预定格式编写的纯文本文件, 所有语法声明必须以“#”为前缀,具体说明如下:
头部信息
序号 |
代码 |
说明 |
---|---|---|
1 |
#TITLE |
这里定义语法文件标题,它必须出现在语法文件的首行,否则EditPlus将不能正确读取它的信息。 |
2 |
#DELIMITER |
指定用于分解关键字的定界符。你不必指定空格和制表符,它们是程序内置的缺省定界符。 |
3 |
#QUOTATION1 |
指定引用语标记,例如单引号,这里只能定义一个字符。 |
4 |
#QUOTATION2 |
指定另一种引用语标记,例如双引号,这里只能定义一个字符。 |
5 |
#CONTINUE_QUOTE |
这个选项允许不停止引用而将它延续到下一行。定义为“y”时允许跨行引用,定义为“n”时不允许跨行引用,“n”是默认值。 |
6 |
#LINECOMMENT1 |
指定一个行内注释标记。如果你以“;”作为行内注释符的前缀,那么仅在它位于行首时才会起作用。 |
7 |
#LINECOMMENT2 |
指定另一个行内注释标记。 |
8 |
#COMMENTON |
指定一个块级注释的开始标记。 |
9 |
#COMMENTOFF |
指定一个块级注释的结束标记。 |
10 |
#COMMENTON2 |
指定另一个块级注释的开始标记。 |
11 |
#COMMENTOFF2 |
指定另一个块级注释的结束标记。 |
12 |
#ESCAPE |
指定避让字符,这里只能定义一个字符。 |
13 |
#CASE |
指定敏感性。取值为“y”或“n”默认值为“n”。 |
14 |
#PREFIX1~#PREFIX5 |
指定前缀关键字,任何跟随前缀的单词将被视为已经处理的关键字。可以改变顺序号,看看显示颜色变化。 |
15 |
#SUFFIX1~#PREFIX5 |
指定后缀关键字,任何在后缀之前的单词将被视为已经处理的关键字。 |
16 |
#HTML_EMBEDDED |
如果是像PHP这样的HTML植入脚本,指定为“y”。可以参考“php.stx”中的用法。 |
17 |
#SCRIPT_BEGIN |
指定HTML植入脚本的开始标记,仅在“#HTML_EMBEDDED”定义为“y”时发生作用,请参考“php.stx”中的用法。 |
18 |
#SCRIPT_END |
指定HTML植入脚本的结束标记,仅在“#HTML_EMBEDDED”定义为“y”时发生作用,请参考“php.stx”中的用法。 |
19 |
#HEREDOC |
指定一个字符串用于Perl和PHP文件中的heredoc。例如:#HEREDOC=<<EOF. |
20 |
#AUTOCASE |
如果希望使用关键字自动完成特性,将它定义为“y”。 |
21 |
#NUMBER_PATTERN |
指定专用的数字语法高亮。 |
22 |
#SPECIAL_STX |
指定专用的语法文件,留空则可用于其它语法文件。 |
同其它语言一样,你也可以在语法文件中插入注释,注释行必须以英文的分号“;”开始。如果你希望指定英文分号作为一个关键字,必须以避让字符“^”作为它的前缀。
关键字组
每个关键字组以#KEYWORD=开始,之后定义该组的描述。关键字清单从下一行开始,如果需要在关键字里包含“#”,必须以避让字符“^”为前缀像“^#”这样。在这种情况下,“#”标记不应该包含在“#DELIMITER”定义中。最多可以定义10个关键字组。
如:
KEYWORD=Reserved words
abstract
boolean
break
#KEYWORD=Compiler directives
...
代码太多就不贴了,网盘中有【单片机】-》【C51】中,名为asm.stx。拷贝到EditPlus软件目录,添加到语法就行。
具体操作如下:打开EditPlus,选择【工具】-》【参数设置】-》【设置&语法】,右边添加文件类型ASM,文件扩展名:asm,语法文件选择刚拷贝的asm.stx,勾选“关联资源管理器”,最后“确认”即可。Asm文件就会被EditPlus软件默认打开,如下所示:
关键字颜色设定,具体在【语法颜色】中设定,如下所示:
最后看下效果:
特别说明:
跳转如MAIN:,我选择用#SUFFIX3=:,为什么用3,因为颜色好区分,
增加注释#LINECOMMENT2=//,Keil里面能识别。
增加区块注释开始标记#COMMENTON=/*,结束标记#COMMENTOFF=*/,同样Keil里面能识别。
前缀关键字增加#PREFIX2=#,因为ASM好多16进制数都是以#开头,好区分,为什么用2,同样为了颜色好区分。
原文地址:https://www.cnblogs.com/littejack/p/10660597.html