Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sublimetext2 在Sublime文本中设置我自己的语法_Sublimetext2_Syntax Highlighting_Sublimetext_Sublime Text Plugin - Fatal编程技术网

Sublimetext2 在Sublime文本中设置我自己的语法

Sublimetext2 在Sublime文本中设置我自己的语法,sublimetext2,syntax-highlighting,sublimetext,sublime-text-plugin,Sublimetext2,Syntax Highlighting,Sublimetext,Sublime Text Plugin,有时我会用精彩的文字来写提醒。 对于此任务,我始终使用相同的布局,如下所示: >Title >>Subtitle >>>Comment > Title >> ... 其中,表示制表符 因此,我想知道是否有可能为这类文件创建自己的语法高亮显示,其中一种颜色用于标题,另一种颜色用于副标题,常规颜色用于注释。语法高亮显示是使用.tmLanguage执行的。它们是以苹果基于XML的PLIST格式格式化的,不过多亏了优秀的Sublime插件,它们可

有时我会用精彩的文字来写提醒。 对于此任务,我始终使用相同的布局,如下所示:

>Title
>>Subtitle
>>>Comment

> Title
>> ...
其中,
表示制表符


因此,我想知道是否有可能为这类文件创建自己的语法高亮显示,其中一种颜色用于标题,另一种颜色用于副标题,常规颜色用于注释。

语法高亮显示是使用
.tmLanguage
执行的。它们是以苹果基于XML的PLIST格式格式化的,不过多亏了优秀的Sublime插件,它们可以用JSON或YAML编写,我之所以选择它,是因为它的紧凑性,以及我使用我的主题*获得了甜美的语法高亮显示

因此,您的语法非常简单。您将有三条规则:

  • 以单个选项卡作为“标题”行开始的匹配行
  • 匹配以两个选项卡开头的行作为“字幕”行
  • 匹配以三个选项卡开头的行作为“注释”行
  • 其他所有内容都将通过Sublime显示为纯文本


    在这里,在亚马尔:

    #[PackageDev]target_格式:plist,ext:tmLanguage
    ---
    名称:提醒
    评论:写给http://stackoverflow.com/q/25689365/1426065 作者@MattDMo
    scopeName:text.members
    文件类型:[待办事项]
    uuid:6B548E74-5E01-497A-B030-9D31131B7A70
    模式:
    -名称:text.title.members
    匹配:^\t(?!\t+)(*)
    -名称:text.subtitle.members
    匹配:^\t\t(?!\t+)(*)
    -名称:text.comment.members
    匹配:^\t\t\t(.*)
    
    一切都很简单。名称显示在Sublime的右下角,由我编写,其基本作用域名称为
    文本。提醒
    ,打开扩展名为
    的文件。todo
    将自动应用此语法,UUID只是一个唯一标识符。如上所述,有三种模式。要记住一件事:只有当行以文本制表符开头,而不是以空格字符作为制表符插入时,才会匹配这意味着您需要选择
    查看->缩进
    并确保未选中
    使用空格缩进
    。为了更好地测量,还可以选择
    查看->缩进->将缩进转换为选项卡。这些设置可以仅应用于“提醒”视图,我将在后面介绍


    因此,我们有我们的YAML,如果您没有
    PackageDev
    ,它是无用的。但是,如果将其转换为PLIST,效果会更好:

    
    评论
    写给http://stackoverflow.com/q/25689365/1426065 作者@MattDMo
    文件类型
    . 将文件另存为包/用户/提醒。升华设置


    就这样!您可能需要重新启动Sublime,以启动更改,但随后您已全部就绪。总而言之,创建新语法定义的步骤如下:

  • 得到,你的生活会轻松得多
  • 使用正则表达式语言编写JSON或YAML格式的高亮正则表达式,并使用诸如(使用Ruby 1.9.2选项)之类的工具进行在线测试
  • 编译为PLIST/XML
  • 修改新范围的颜色方案
  • 为特定于语法的设置(如选项卡)创建一个
    .sublime settings
    文件
  • 利润

    *如果您感兴趣,请链接到我的用户配置文件中…

    是的,这是可能的。这非常有帮助——如果您能看看我最近问的一个类似问题,我将不胜感激。@MattDMo那么这样做只会给特定文件添加一些颜色?OP提到使用制表符,有没有办法设置它,使句子以字符开头,如#或//,它会改变颜色?@vytfla是的,你所要做的就是调整正则表达式以匹配
    /
    或任何你想要的东西。@MattDMo好的,谢谢。所以我相信我添加的所有内容都是正确的。我刚才做的一切怎么知道我想将它与当前文件关联?我试着在我的文件中添加标签,但它不起作用。另外,我不熟悉正则表达式,我如何为我想要的字符定制它?