Sublime Text 设置字自动变色

Automatic change of color at the set words in Sublime Text

(英语不是我的母语)

您好。例如,我需要通过 Sublime Text 3 打开的文档中的字符集 test 始终为橙色; <example> — 总是红色,@Whosebug — 总是蓝色,等等。我想要颜色,而不是 highlight。对我来说不是很重要,会立即改变所有配色方案或只改变我使用的配色方案。

我的目的——我想在 Sublime Text 中有一个简单的 ToDo-manager,其中多色的单词会起到标签的作用,并且在它们上面我可以很容易地被引导。插件PlainTasks不适合我

是否可以用特定颜色绘制自定义单词?谢谢。

您需要定义自定义语法来解析您创建/生成的文件。如果您使用的是 SublimeText 3 build 3103 或更高版本,您可以使用 new .sublime-syntax file format or for earlier versions, the tmLanguage 格式,它将范围与文本相关联。然后,您的样式文件会将颜色与您定义的范围相关联。最好使用众所周知的范围,例如在第二个 link 的 命名约定 部分下定义的范围,这样,无论定义什么样式,您都会得到一些适当的突出显示。

小结:样式文件将外观与特定范围相关联。范围在语法文件中定义,它告诉 SublimeText 要匹配的文本以及将其关联到的范围。 Here是一些关于样式文件格式的Sublime相关文档(.tmTheme)。

继 ig0774 的 之后,这里有一些具体的操作示例。首先,使用 YAML 语法和以下内容在 Sublime 中创建一个新文件:

%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: ToDo Manager
file_extensions:
  - todo
scope: text.todo
contexts:
  main:
    - match: (?i)\btest\b
      scope: meta.test
    - match: (?i)\bWhosebug\b
      scope: meta.Whosebug
    - match: (?i)\bexample\b
      scope: meta.example

您可以将 name 更改为您想要的任何内容,并为您的文件修改 file_extensions。然后,将文件保存在 Packages/User 文件夹中(可以通过 selecting Preferences -> Browse Packages... 找到)作为 ToDo Manager.sublime-syntax.

现在是配色方案。我们在这里假设您使用的是默认的 Monokai 配色方案。实际的 .tmTheme 文件包含在 .sublime-package 存档中,因此为了访问它,您需要安装 PackageResourceViewer 插件。安装后,打开命令面板并输入 prv 以显示 PackageResourceViewer 选项。 Select Edit Package Resource,导航至 Color Scheme - Default,然后向下滚动并 select Monokai.tmTheme。如果您使用的是其他默认配色方案,请 select 该文件代替。如果您安装了配色方案,请先打开该包,然后 select 相应的 .tmTheme 文件。

如果 .tmTheme 文件没有语法高亮,select XML。接下来,向下滚动到最后。最后 5 行应如下所示:

    </array>
    <key>uuid</key>
    <string>06CD1FB2-A00A-4F8C-97B2-60E131912345</string>
</dict>
</plist>

尽管 uuid 可能会有所不同。在 </array> 行之前,插入以下内容:

        <dict>
            <key>name</key>
            <string>test</string>
            <key>scope</key>
            <string>meta.test</string>
            <key>settings</key>
            <dict>
                <key>background</key>
                <string></string>
                <key>fontStyle</key>
                <string></string>
                <key>foreground</key>
                <string>#FF8000</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Whosebug</string>
            <key>scope</key>
            <string>meta.Whosebug</string>
            <key>settings</key>
            <dict>
                <key>background</key>
                <string></string>
                <key>fontStyle</key>
                <string></string>
                <key>foreground</key>
                <string>#0FD7FF</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>example</string>
            <key>scope</key>
            <string>meta.example</string>
            <key>settings</key>
            <dict>
                <key>background</key>
                <string></string>
                <key>fontStyle</key>
                <string></string>
                <key>foreground</key>
                <string>#FF0000</string>
            </dict>
        </dict>

现在,select File -> Save 它将被保存在正确的位置,覆盖 .sublime-package 中的文件。最后,打开一个 .todo 文件和 select View -> Syntax -> Open all with current extension as... -> User -> ToDo Manager 你应该会看到类似这样的突出显示: