崇高的文字3:可以绑定到多个(顺序)按键吗?

时间:2018-09-18 18:41:54

标签: sublimetext3

我要让Sublimetext 3成为VIM的长期用户。我想知道的一件事是是否有一种方法可以绑定到多个顺序键。在VIM中,我使用了imap hh =>,可让我依次键入2 h并得到一个=>。有什么办法可以在ST3中进行设置?

1 个答案:

答案 0 :(得分:1)

键绑定中的keys键是JSON list,可以包含多个键,这些键必须按顺序按下才能激活绑定。例如,用于打开侧边栏(在Windows / Linux上)的默认键绑定声明为以下内容,要求您先按 Ctrl + k ,然后按 Ctrl + b

{ 
    "keys": ["ctrl+k", "ctrl+b"], 
    "command": "toggle_side_bar" 
},

还可以绑定未修改的键,例如"h"(尽管您不能像"ctrl"那样仅绑定修饰符),因此出于您的目的,您可以执行以下操作:

{
    "keys": ["h", "h"],
    "command": "insert",
    "args": {
        "characters": "=>"
    },
},

{
    "keys": ["h", "i"],
    "command": "insert",
    "args": {
        "characters": "->"
    },
},

这些命令使用内置的insert命令插入一组特定的文本;此命令足够聪明,可以确保插入发生在文件中的所有插入符处。如本例所示,您也可以定义多个这样的键。

但是请注意,诸如此示例之类的键绑定有些天真,因为它会阻止您实际连续键入这些字符,例如第二个示例有效地阻止了您键入单词this而不用等待进入h之后,允许Sublime暂停和弦。

要解决这个问题,您可以使用某种context来限制该键绑定的可用性。

如果您为Sublime使用某些Vim类型的软件包,例如NeoVintageous,它们也将允许您直接使用更多类似vi的绑定。