EditPlus语法高亮

  最近学习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,同样为了颜色好区分。

猜你喜欢

转载自www.cnblogs.com/littejack/p/10660597.html
今日推荐