【发布时间】:2012-07-12 19:22:52
【问题描述】:
在记事本 ++ 中,我可以更改特殊字符的颜色,例如“!@#$%^&*(){}[]。
崇高的文字可以做到这一点吗?我知道它使用 textmate 主题文件,但我不知道我应该编辑什么...
有什么想法吗?
PS:我主要使用 C++ 语法
【问题讨论】:
标签: notepad++ text-editor sublimetext2
在记事本 ++ 中,我可以更改特殊字符的颜色,例如“!@#$%^&*(){}[]。
崇高的文字可以做到这一点吗?我知道它使用 textmate 主题文件,但我不知道我应该编辑什么...
有什么想法吗?
PS:我主要使用 C++ 语法
【问题讨论】:
标签: notepad++ text-editor sublimetext2
我有点晚了,但是要更改 Sublime Text 中的运算符颜色,您必须编辑您的配色方案文件(.tmTheme 文件类型)。只要您使用的语言的语言定义以您想要的符号分类为运算符的方式编写,这应该可以解决问题。
将以下代码添加到当前 .tmTheme 文件的末尾(如果您使用默认值之一,则位于 Packages/Color Scheme - Default/;其他代码将位于它们自己的子目录或 Packages/User/ 中),就在之前最后的</array> 标签:
<!-- Custom operator colors -->
<dict>
<key>name</key>
<string>Custom Operator Colors</string>
<key>scope</key>
<string>keyword.operator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<!-- Your hexadecimal color code here -->
<string>#FFFFFF</string>
</dict>
</dict>
这将使归类为keyword.operator(基于TextMate naming conventions)的代码以您想要的任何颜色值着色。只要您使用相同的配色方案,此解决方案将适用于所有语言。
【讨论】:
Sublime Text 的 C++ 语言文件中似乎没有列出运算符,所以我认为您需要先添加它们。
到文件 %SUBLIMEDIR% / Packages / C++.sublime-package / C++.tmLanguage 添加以下内容:
<dict>
<key>match</key>
<string>\=|\+|\-|\*|\%|\+\+|\-\-|\=\=|\!\=|<|>|<\=|>\=|\!|&&|\|\||\~|&|\||\^|<lt;|>>|\+\=|\-\=|\*\=|/\=|\%\=|&\=|\|\=|\^\=|<<\=|>>\=|\[|\]|\(|\)|\->|\->\*|\.|\.\*|\?|\:|\:\:</string>
<key>name</key>
<string>keyword.operator</string>
</dict>
...在进行类似条目的区域。这应该涵盖大多数 C++ 运算符。
之后 Protractor Ninja 建议的编辑应该会生效。不过我还没有彻底测试过,复杂的正则表达式可能会更好。
【讨论】: