【发布时间】:2015-07-20 20:39:32
【问题描述】:
在 Vim 中我们可以使用Ctrl + N 或Ctrl + P 来完成代码补全。如何在 IdeaVim 中为 IntelliJ 配置它?
【问题讨论】:
标签: intellij-idea vim jetbrains-ide ideavim
在 Vim 中我们可以使用Ctrl + N 或Ctrl + P 来完成代码补全。如何在 IdeaVim 中为 IntelliJ 配置它?
【问题讨论】:
标签: intellij-idea vim jetbrains-ide ideavim
从带有 IdeaVim v0.57 插件的 IntelliJ IDEA Community Edition v2020.1.1 开始,使我能够使用 Ctrl+N 自动完成代码以及循环浏览建议如下:
如果像我一样,您已将以下内容添加到您的 .ideavimrc:
imap <C-n> <ESC>:action HippieCompletion<CR>a
imap <C-p> <ESC>:action HippieBackwardCompletion<CR>a
通过在前面加上“”将这两行注释掉,或者删除它们。
【讨论】:
在 IDEA 2016.2.5 中(运行 IdeaVIM 时)将 CTRL-N 和 CTRL-P 映射到“循环展开字”和“循环展开字(向后)”后,我无法让它们工作。两次击键都没有做任何事情。
解决方案是从文件菜单中额外选择“设置”,然后选择“其他设置”->“Vim 仿真”,并将 Ctrl+N 和 Ctrl+P 的“处理程序”设置为“IDE”而不是“维姆”。
【讨论】:
Alt + / 和 Alt + Shift + / 可以在普通 IntelliJ 和安装了 IdeaVim 的情况下工作。
请参阅 JetBrains 页面上的 documentation - 它称为 Hippie Completion(较新的版本将此完成称为 Cyclic Expand Word)。
当然,您可以随时使用Ctrl + Space、Ctrl + Shift + Space、Ctrl + Alt + Space。
【讨论】:
Ctrl + P 映射为与Alt + / 相同的行为?我添加了新的键盘快捷键,但点击 Ctrl + P 不起作用。没有冲突的快捷方式,我也尝试删除 Alt + / 映射。没有成功=(
这是我发现使用 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
【讨论】:
<C-p> 和 <C-n> 处理程序设置为默认的 Vim)。我正在使用 IntelliJ 2020.3.2 和 IdealVim 0.64。
文件->设置->Keymap->搜索关键字“循环展开词”
【讨论】:
添加以下键盘映射:Ctrl+N 到 Down 和 Ctrl+P 到 Up
因此您可以轻松地在完成菜单中导航。
【讨论】:
MY_ENV_VALUE = os.env["MY_ENV_VALUE"]。在真正的vim中,第二个大写M后Ctrl+P完成所需的字符串。