سؤال

I am a vim user who is moving to Sublime text and using Vintage mode. In my .vimrc I have the following line:

imap jk <Esc>

In vim, this allows me to escape out of insert mode without having to lunge for the escape key and keep my fingers on the home row. How do I do the same thing with Sublime Text Vintage mode?

هل كانت مفيدة؟

المحلول

"Vintage mode is implemented entirely via key bindings and the plugin API - feel free to browse through the Vintage package and see how it's put together. As an example, if you'd like to bind "jj" to exit insert mode, you can add this key binding:"

{ "keys": ["j", "j"], "command": "exit_insert_mode",
    "context":
    [
        { "key": "setting.command_mode", "operand": false },
        { "key": "setting.is_widget", "operand": false }
    ]
}

Just modify first line to jk if you prefer that.
Source

نصائح أخرى

If you are using the Vintageous plugin, use the following key binding:

{
    "keys": ["j", "k"],
    "command": "_enter_normal_mode",
    "args": {"mode": "mode_insert"},
    "context": [{"key": "vi_insert_mode_aware"}]
}

Also, Ctrl+[ works and is much easier to reach for than the esc key. This is in OSX at least.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top