Note that this makes it impossible to have multi-letter shortcuts for the escape command, such as the common `jk` binding (in vim). However, when I think about it, multi-letter shortcuts does for the escape command does not make sense in VimFx. Let's say we use `jk`. Any time we want to blur a text input, we would pollute it with an extra 'j'. When trying to cancel hint markers, if 'j' also is a hint char (likely), it might be impossible to do so without following a 'j' marker. So I think we should not support multi-letter in this case. (We need to remember this when enhancing the rebindings UI.) That makes some simplifications possible:

I'd change the line to `esc = keyStr in escapeCommand.keys()`. Remove `searchForMatchingCommand` from the require. But ideally, I'd like `Vim` to expect a function that returns an array of escape keys, not an escape command. So `exports.escapeKeys = escapeCommand.keys.bind(escapeCommand)` in commands.coffee and `esc = keyStr in escapeKeys()`.