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