【发布时间】:2016-04-27 21:01:09
【问题描述】:
【问题讨论】:
-
XML 语言语法不支持非 ASCII 标记名称。你使用的是什么版本号的 Sublime?
-
好的,谢谢。我的意思是 Sublime 的 语言语法不支持非 ASCII 字符,不支持 XML 定义本身。
标签: xml sublimetext3 syntax-highlighting sublimetext tmlanguage
【问题讨论】:
标签: xml sublimetext3 syntax-highlighting sublimetext tmlanguage
Sublime Text 2/3 附带的 XML 语法高亮语言定义无法识别非 ASCII 标记:
注意:Neon Color Scheme 用于语法高亮
但是,将其替换为 this gist 中的文件可以解决该问题以及一些小问题:
在 Sublime 中,打开一个新文件并粘贴 gist 的内容。将文件另存为XML.tmLanguage。通过选择 Preferences → Browse Packages… 打开您的 Packages 文件夹,然后关闭 Sublime。向下滚动到XML 文件夹并将XML.tmLanguage 重命名为XML.tmLanguage.old。如果存在,请删除XML.tmLanguage.cache。现在,将新的XML.tmLanguage 从您的桌面复制到Packages/XML。下次您在 Sublime 中打开 XML 文件时,它将使用新语法。
在 Sublime 中,打开一个新文件并粘贴 gist 的内容。将文件另存为XML.tmLanguage。通过选择 Preferences → Browse Packages… 打开您的 Packages 文件夹,然后关闭 Sublime。在Packages 中创建一个名为XML 的新文件夹,并将新的XML.tmLanguage 从桌面复制到Packages/XML。下次您在 Sublime 中打开 XML 文件时,它将使用新语法。
在 Sublime 中,打开一个新文件并粘贴 gist 的内容。将文件另存为XML.tmLanguage。在 Sublime 中创建另一个新文件,内容如下:
%YAML 1.2
---
name: XML-ss
file_extensions:
first_line_match: '^<\?xml '
scope: text.xml
contexts:
main:
- match: ''
---
将此文件另存为XML.sublime-syntax。通过选择 Preferences → Browse Packages… 打开您的 Packages 文件夹,然后关闭 Sublime。在Packages 中创建一个名为XML 的新文件夹,并将新的XML.tmLanguage 和XML.sublime-syntax 文件从您的桌面复制到Packages/XML。下次您在 Sublime 中打开 XML 文件时,它将使用新语法。语法菜单中会有一个新条目,名为XML-ss(用于sublime-syntax),忽略它即可。
在这里,我们只需将旧的语言定义(.tmLanguage 文件)替换为新的。
在 Sublime Text 3 中,默认包(以及您使用 Package Control 安装的许多包)作为压缩的 .sublime-package 文件存储在单独的目录中。但是,如果您在 Packages 文件夹中创建一个与包同名的文件夹和文件(在本例中为 XML)以及其中包含的文件,则 Packages 中的版本将覆盖 @987654359 中的版本@ 档案。对于 ST3 版本 3083 及之前的版本,使用与 ST2 相同的基于 XML 的 .tmLanguage 格式。
但是,从 dev build 3084 及更高版本开始,引入了基于 YAML 的新 .sublime-syntax 格式,并转换了所有默认语法定义。不过,.tmLanguage 格式仍受支持,但我们需要先覆盖 XML/XML.sublime-syntax 文件,才能使用新的 .tmLanguage 文件。
【讨论】: