关于intellij的想法:如何在IdeaVIM中从Vim配置Ctrl + N和Ctrl + P完成?

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页面上的文档-称为"嬉皮补全"(较新的版本称此补全为Cyclic Expand Word)。

当然,您始终可以使用Ctrl + SpaceCtrl + Shift + SpaceCtrl + Alt + Space


在IDEA 2016.2.5(运行IdeaVIM)中将它们映射到"循环扩展字"和"循环扩展字(向后)"后,我无法使CTRL-N和CTRL-P正常工作。两次击键都无济于事。

解决方案是从文件菜单中另外选择"设置",然后选择"其他设置"->" Vim仿真",然后将Ctrl + N和Ctrl + P的"处理程序"设置为" IDE",而不是" Vim"。


这是我发现使单词完成功能与CTRL-N和CTRL-P一起使用的方法,同时仍使列表中的DOWN和UP快捷方式起作用。

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

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

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


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

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


File-> Settings-> Keymap->搜索关键字"循环扩展词"


从带有IdeaVim v0.57插件的IntelliJ IDEA社区版v2020.1.1开始,使我能够自动完成代码以及通过Ctrl + N遍历建议的操作如下:

  • 文件->设置->键盘映射
  • 在搜索栏上输入:嬉皮
  • 将键盘快捷键添加到"循环扩展字" Ctrl + N(如果出现提示,请删除其他分配)
  • 将键盘快捷键添加到"循环扩展单词(向后)" Ctrl + P(如果出现提示,请删除其他分配)

如果像我一样,您已经在.id??eavimrc中添加了以下内容:

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

在这两行之前添加"",以将其注释掉,或将其删除。