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

use*_*545 1 vim intellij-idea vim-plugin ideavim

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

inoremap <a-j> :action EditorCompleteStatement<CR>
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用,我该如何更改它才能工作?

DJM*_*hem 6

这正是它应该的工作方式。inoremap说“每当你在左边打字时,假装用户在右手边打字”。所以在映射之后,<a-j>实际上相当于在插入模式下键入“:action EditorCompleteStatement”。

所以你需要做的就是首先转义插入模式:

inoremap <a-j> <esc>:action EditorCompleteStatement<cr>gi
Run Code Online (Sandbox Code Playgroud)

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

inoremap <a-j> <C-o>:action EditorCompleteStatement<cr>
Run Code Online (Sandbox Code Playgroud)