在 ideavim 插入模式下绑定到动作

Binding to action in ideavim insert mode

我希望能够在插入模式下将操作映射到键绑定。但是,使用此处的代码只是将文本 :action EditorCompleteStatement 插入缓冲区。

inoremap <a-j> :action EditorCompleteStatement<CR>

为什么这不起作用,我怎样才能让它起作用?

这完全符合预期。 inoremap 表示 "whenever you type left hand side, pretend the user typed right hand side"。因此,在该映射之后,<a-j> 字面上等同于在插入模式下键入“:action EditorCompleteStatement”。

所以你真正需要做的就是首先退出插入模式:

inoremap <a-j> <esc>:action EditorCompleteStatement<cr>gi

或者,您可以使用 <C-o>,在这种情况下会更容易一些:

inoremap <a-j> <C-o>:action EditorCompleteStatement<cr>