我想要做什么:如何在 vim 中创建自定义键绑定以在插入模式下编写“hello world”,首先按住'w'然后按'2'?
请注意,我不希望通过按 w 然后按 2 来调用我的命令——必须按住 w 键然后按 2。另请注意,如果先按住 2 键然后按下 w,则不应调用该命令。
希望先按住 w 然后按 2 的原因是,如果我想按字面意思输入“w2”,我可以通过按+按 w 然后按 2 来做到这一点
我想要做什么:如何在 vim 中创建自定义键绑定以在插入模式下编写“hello world”,首先按住'w'然后按'2'?
请注意,我不希望通过按 w 然后按 2 来调用我的命令——必须按住 w 键然后按 2。另请注意,如果先按住 2 键然后按下 w,则不应调用该命令。
希望先按住 w 然后按 2 的原因是,如果我想按字面意思输入“w2”,我可以通过按+按 w 然后按 2 来做到这一点
您是否尝试过 TextExpander或者更好的是TypeIt4Me?
无论如何,您描述的确切机制在 Vim 中以本机插入模式是不可能的。由于w
不是修饰键,因此您不能按住它并期望 Vim 注册第二个按键。
我能想到的更接近的是琶音,它可以让您将事物映射到同时按下的键。
输入: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”,就会立即出现。我不确定这对你是否方便,对我来说不是。