1

我想要做什么:如何在 vim 中创建自定义键绑定以在插入模式下编写“hello world”,首先按住'w'然后按'2'?

请注意,我不希望通过按 w 然后按 2 来调用我的命令——必须按住 w 键然后按 2。另请注意,如果先按住 2 键然后按下 w,则不应调用该命令。

希望先按住 w 然后按 2 的原因是,如果我想按字面意思输入“w2”,我可以通过按+按 w 然后按 2 来做到这一点

4

2 回答 2

2

您是否尝试过 TextExpander或者更好的是TypeIt4Me

无论如何,您描述的确切机制在 Vim 中以本机插入模式是不可能的。由于w不是修饰键,因此您不能按住它并期望 Vim 注册第二个按键。

我能想到的更接近的是琶音,它可以让您将事物映射到同时按下的键

于 2013-03-21T06:18:59.087 回答
1

输入:inoreab w2 hello world或写inoreab w2 hello world在您的.vimrc

然后当你处于 INSERT 模式时,输入w2<space>,这两个词就会出现在上面。

leader key ( <leader>) 可以是anykey,用户可以自己映射。默认为\. 顺便说一句,我认为映射w为领导键不是一个好主意。w它在正常模式下与 (word forward)冲突。

我将(逗号)映射,为领导键。

更多细节请检查:h <leader>

编辑OP 的评论

我可以以某种方式做到这一点而不必按下<space>

是的,你可以。(但我不建议这样做。)

你可以去映射的方式来跳过空间。

:inoremap w2 hello world

请注意,如果您有该映射,则在 INSERT 模式下,只要您按下w2“hello world”,就会立即出现。我不确定这对你是否方便,对我来说不是。

于 2013-03-21T01:01:55.710 回答