vim 如何在Sublime Text vintage模式下重新Map转义?

zvokhttg  于 2022-11-11  发布在  其他
关注(0)|答案(5)|浏览(170)

我是一个Vim用户,正在使用Vintage模式,并切换到Sublime Text。在我的.vimrc中,我有以下行:

imap jk <Esc>

在Vim中,这可以让我跳出插入模式,而不必去按退出键,并让我的手指保持在主行上。

zbq4xfa0

zbq4xfa01#

Vintage模式完全是通过键绑定与插件API实现得-请随意浏览Vintage软件包并查看它是如何组合在一起得.例如,如果您希望绑定“jj”以退出插入模式,则可以添加以下键绑定:

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

如果你喜欢的话,就把第一行修改成jk。
Source

qlvxas9a

qlvxas9a2#

如果您使用的是Vintageous插件,请使用the following key binding

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

eh57zj3b3#

此外,Ctrl+[的工作和更容易达到比esc键。这是在OSX至少。

jecbmhm3

jecbmhm34#

对于使用Neovintageous 1.22.0的任何人,您可以在“升华文本”偏好设置中设定这些选项以重新Map:
“vintageous_i_escape_jj”:真的
“vintageous_i_escape_jk”:真的
就是这样。

pieyvz9o

pieyvz9o5#

您不需要将keys配置添加到preference > settings中,但需要将其添加到preferences > keybindings中。添加以下代码:

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

保存文件。测试一下,应该能用。
https://www.sublimetext.com/docs/vintage.html#included

相关问题