Ubuntu 上的 Sublime Text 3:包中的自定义键绑定

Sublime Text 3 on Ubuntu: custom keybinds in packages

问题

我的问题是我在 Ubuntu 上的 Sublime Text 3 中分配的自定义键绑定没有注册。就我而言,我正在尝试为 'MarkdownPreview' 包中的命令设置它们。

设置

我有以下设置:

详情

我的MarkdownPreview.sublime设置如下(用户设置):

[
    {"keys": ["alt+m"], "command": "markdown_preview", "args": {"target": "browser", "parser":"markdown"}},
    {"enable_mathjax": true}
]

我已经打开控制台并设置了sublime.log_input(True)sublime.log_commands(True)

按下 alt+m 时控制台中的输出确实显示了正在注册的事件,但没有触发任何命令。请参阅此控制台摘录:

key evt: backspace
command: left_delete
key evt: alt+m
key evt: control+c
command: copy

我可以 运行 命令面板中的命令并且 "enable_mathjax": true 设置工作正常

这对您不起作用的原因是您将键绑定放在包的首选项中而不是键绑定文件中,Sublime 看不到它。

您拥有的 mathjax 设置应该在您的 MarkdownPrevious.sublime-settings 文件中,因为这是包的设置。因此该文件应如下所示:

{
    /*
        Enable or not mathjax support.
    */
    "enable_mathjax": true
}

完成后,您想要 select Preferences > Key Bindings(或者如果您使用的是旧版本的 sublime,Preferences > Key Bindings - User)并将您的键绑定放入该文件中:

[
    {
        "keys": ["alt+m"], "command": "markdown_preview", 
        "args": {
            "target": "browser", 
            "parser":"markdown"
        }
    },
]

这显示了只有这个单一键绑定的键绑定文件的完整内容。如果您有任何其他自定义键绑定,请将其添加到您的文件中,不要用 [] 包围它(因为它们已经在文件中)。