问题 Sublime Text 2 - 特定语言的键绑定?


为特定语言创建键绑定的正确方法是什么?

背景

在处理java文件时,我想在每行后自动插入一个分号。我已经创建了一个宏来完成并且能够将它绑定到 super+enter。现在我想将键绑定范围仅限于java文件。我究竟做错了什么?

[
  { 
    "keys": ["super+enter"], "command": "run_macro_file", 
    "args": {"file": "Packages/User/Add Line SemiColon.sublime-macro"},
    "context": [
      { "key": "selector", "operator": "equals", "operand": "source.java" }
    ] 
  }
]

4703
2018-06-08 18:06


起源

在你修复“平等”之后只需要抬头。 sublimetext.userecho.com/topic/...。如果向下滚动一些注释,您将看到它在OS X上无效(无论出于何种原因)。他们有一个'解决'。虽然它不是很好,因为它们基本上禁用任何其他语言的键绑定。但也许这对你没问题。您正在寻找的评论来自“Oktay Acikalin”无法分辨您正在使用的平台,但我认为我会抛出链接以防万一它是相关的。 - skuroda
@skuroda看起来像修复程序可能在,我在OS X上,它现在完美地工作,我修复了相同的问题。 - Ralph Callaway


答案:


你会喜欢这个 - 你正在寻找的比较运算符不是 equals, 它的 equal

上下文运算符 

equalnot_equal - 测试平等。

regex_matchnot_regex_match - 匹配正则表达式。

regex_containsnot_regex_contains - 匹配正则表达式(包含)。

改变这一点,你不应该再遇到麻烦了。


15
2018-06-08 23:21



面对掌心,谢谢@protractor - Ralph Callaway
将这一个标记为@Ralph的正确答案? - Ivan Castellanos
谢谢!多年来一直在寻找它。 - mpm