keybinding… as discussed already there is a problem with the current implementation.
if have you have bindings that look like that:
action1 - a
action2 - a,b
action3 - a,b,c
on the above case sublime won’t trigger actions till it is not absolutely sure the user doesn’t try to do action3, so pressing a and waiting will hang for ever, or at least till you press something different than b. if you wrote all the binding you may know what to expect, but imagine many people wrote their binding, you can never know which sequence was used, and you don’t have any feedback. for example, say another person just added the following bindings:
action 100a - a,b,c,a
action 100b - a,b,c,b
…
action 100z - a,b,c,z
suddenly you will enter a,b,c, and nothing will happen, more over your bind will never trigger because a,b,c,X is masked by the new bindings.
this system is not good.
VIM solves this by a timeout which after it the editor understands the sequence has ended, only when there is a valid sequence, i.e. it won’t timeout in the middle if there is no valid sequence, so when u have:
action 1 - a,b,c
action 2 - a,b,c,b
and u press a,b and wait, it is ok, then if u press c and pause briefly it will invoke action3