如果我想为 Sublime Text 编写一些新的键绑定,这些键绑定只能在 LaTeX 文件中工作(例如输入_
或^
在另一个字符后自动添加周围的花括号),我到底该怎么做?我不太了解这些键绑定文件的语法。
答案1
好的。我想我已经搞明白了。现在它可以工作,但我还没有真正尝试找到它表现错误的情况。也许有人可以验证一下。
对于我上面给出的例子,以下键绑定有效。但我不确定我是否完全理解了。
[
{ "keys": ["_"], "command": "insert_snippet", "args": {"contents": "_{$1}$0"},
"context":
[
{ "key": "selector", "operator": "equal", "operand": "text.tex.latex string.other.math"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
}
]
答案2
如果您使用代码片段(即 .sublime-snippet 扩展),则可以将指令放在代码片段文件的范围标签内,例如
<scope>text.tex.latex</scope>
这意味着该代码片段仅适用于 LaTeX。
这些文件是 XML 格式的,因此如果要使用它们,您需要学习其语法。
.sublime-keymap 文件也是 XML。我不知道它们是否以相同的方式与范围一起工作。