【问题标题】:File Dependent Key Bindings文件相关键绑定
【发布时间】:2015-02-12 09:27:38
【问题描述】:

我在 Sublime Text 3 的 Preferences > Key Bindings - User 配置文件中添加了以下代码:

{ "keys": ["ctrl+b"], "command": "insert_snippet", "args": {"contents": "<strong>${0:$SELECTION}</strong>"} },

因此,当用户在编辑器中按下 Ctrl+B 时,当前选择被 HTML 标签 &lt;strong&gt;&lt;strong&gt; 包围。

无论如何,我可以使这个设置文件类型依赖? IE。如果用户在 *.txt*.md 文件中工作,则在编辑器中按 Ctrl+B 应使用 Markdown 粗体标记 (**) 围绕选择,并且当编辑任何其他类型的文件(通常或特别是 *.html 文件),然后用 HTML 标记包围,如上例所示。

这在 Sublime Text 3 中可行吗?

【问题讨论】:

    标签: keyboard-shortcuts sublimetext sublimetext3


    【解决方案1】:

    这可以通过context 参数来完成:

    "context": [
        {
            "key": "selector",
            "operator": "equal",
            "operand": "source.php"
        }
    ]
    

    selector 返回当前scope的名称。

    operator Type of test 对键的值执行。默认等于。

    operand key 返回的结果会针对这个值进行测试。

    更多帮助请看:http://docs.sublimetext.info/en/latest/reference/key_bindings.html

    示例

    仅用于在 HTML 中识别 Ctrl+B

    // bold snippet for html
    { 
        "keys": ["ctrl+b"], 
        "command": "insert_snippet", 
        "args": {"contents": "<strong>${0:$SELECTION}</strong>"},
        "context": [
            {"key": "selector", "operator": "equal", "operand": "text.html.basic"}
        ]
    },
    

    用于在 Markdown 和纯文本中识别 Ctrl+B

    // bold snippet for markdown and plain text
    { 
        "keys": ["ctrl+b"],
        "command": "insert_snippet", 
        "args": {"contents": "**${0:$SELECTION}**"},
        "context": [
            {"key": "selector", "operator": "equal", "operand": "(text.html.markdown, text.plain)"}
        ]
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 2015-08-09
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      相关资源
      最近更新 更多