如何在IdeaVIM 中配置Ctrl+N 和Ctrl+P completion from Vim?

How to configure in IdeaVIM Ctrl + N and Ctrl + P completion from Vim?

在Vim中我们可以使用Ctrl + NCtrl + P来完成代码补全。如何在 IdeaVim for IntelliJ 中配置?

Alt + /Alt + Shift + / 可以在普通 IntelliJ 和安装了 IdeaVim 的情况下工作。

请参阅 JetBrains 页面上的 documentation - 它称为 Hippie Completion(较新版本称此完成为 Cyclic Expand Word)。

当然,您可以随时使用 Ctrl + SpaceCtrl + Shift + SpaceCtrl + Alt + Space

添加以下键盘映射:Ctrl+NDownCtrl+PUp

因此您可以轻松地在完成菜单中导航。

在将它们映射到 IDEA 2016.2.5 中的 "Cyclic Expand Word" 和 "Cyclic Expand Word (Backward)" 后,我无法让 CTRL-N 和 CTRL-P 工作(而 运行 IdeaVIM)。两次击键都没有任何作用。

解决方案是从文件菜单中另外 select "Settings",然后 "Other Settings" -> "Vim Emulation",并为 Ctrl+ 设置 "Handler" N 和 Ctrl+P 到 "IDE" 而不是 "Vim".

文件->设置->键盘映射->搜索关键字"cyclic expand word"

这是我发现的使用 CTRL-N 和 CTRL-P 进行单词补全的方法,同时仍然让列表中的 DOWN 和 UP 快捷方式起作用。

在设置 -> 键盘映射中,将 CTRL-N 和 CTRL-P 分别映射到向下和向上。 然后,在其他设置 -> Vim 仿真中,将 CTRL-N 和 CTRL-P 处理程序设置为 Vim.

最后,将以下内容添加到您的 .ideavimrc

imap <C-n> <ESC>:action HippieCompletion<CR>a
imap <C-p> <ESC>:action HippieBackwardCompletion<CR>a

自带有 IdeaVim v0.57 插件的 IntelliJ IDEA Community Edition v2020.1.1 起,是什么让我能够自动完成代码以及使用 Ctrl+N 循环浏览建议如下:

  • 文件 -> 设置 -> 键盘映射
  • 在搜索栏中输入:嬉皮士
  • 将键盘快捷键添加到 "Cyclic Expand Word" Ctrl+N(如果出现提示,删除其他分配)
  • 将键盘快捷键添加到 "Cyclic Expand Word (Backward)" Ctrl+P(如果出现提示,删除其他分配)

如果像我一样,您已将以下内容添加到您的 .ideavimrc 中:

 imap <C-n> <ESC>:action HippieCompletion<CR>a
 imap <C-p> <ESC>:action HippieBackwardCompletion<CR>a

通过在前面加上 " 将这两行注释掉,或者删除它们。