在 Vim 中我们可以使用Ctrl + N
orCtrl + P
来完成代码补全。如何在 IdeaVim 中为 IntelliJ 配置它?
6 回答
Alt + /
并Alt + Shift + /
在普通的 IntelliJ 和安装了 IdeaVim 的情况下工作。
请参阅JetBrains 页面上的文档- 它称为Hippie Completion(较新的版本将此完成称为 Cyclic Expand Word)。
当然,您始终可以使用Ctrl + Space
, Ctrl + Shift + Space
, Ctrl + Alt + Space
。
在 IDEA 2016.2.5 中(运行 IdeaVIM 时)将 CTRL-N 和 CTRL-P 映射到“循环展开字”和“循环展开字(向后)”后,我无法让它们工作。两次击键都没有做任何事情。
解决方案是从文件菜单中额外选择“设置”,然后选择“其他设置”->“Vim Emulation”,并将 Ctrl+N 和 Ctrl+P 的“处理程序”设置为“IDE”而不是“Vim”。
这是我发现使单词完成与 CTRL-N 和 CTRL-P 一起工作的方式,同时仍然让快捷方式在列表中为 DOWN 和 UP 工作。
在 Settings -> Keymap 中,将 CTRL-N 和 CTRL-P 分别映射到 Down 和 Up。然后,在 Other Settings -> Vim Emulation 中,将 CTRL-N 和 CTRL-P 处理程序设置为 Vim。
最后,将以下内容添加到您的 .ideavimrc
imap <C-n> <ESC>:action HippieCompletion<CR>a
imap <C-p> <ESC>:action HippieBackwardCompletion<CR>a
添加以下键盘映射:Ctrl+N
toDown
和Ctrl+P
toUp
因此,您可以轻松地在完成菜单中导航。
File->Settings->Keymap->搜索关键词“循环展开词”
从带有 IdeaVim v0.57 插件的 IntelliJ IDEA Community Edition v2020.1.1 开始,使我能够使用 Ctrl+N 自动完成代码以及循环浏览建议的功能如下:
- 文件 -> 设置 -> 键盘映射
- 在搜索栏输入:嬉皮士
- 将键盘快捷键添加到“循环展开单词”Ctrl+N(如果出现提示,请删除其他分配)
- 将键盘快捷键添加到“循环展开单词(向后)”Ctrl+P(如果出现提示,请删除其他分配)
如果像我一样,您在 .ideavimrc 中添加了以下内容:
imap <C-n> <ESC>:action HippieCompletion<CR>a
imap <C-p> <ESC>:action HippieBackwardCompletion<CR>a
通过在前面加上“”将这两行注释掉,或者删除它们。