Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea 如何在IdeaVIM中从Vim配置Ctrl+N和Ctrl+P完成?_Intellij Idea_Vim_Jetbrains Ide_Ideavim - Fatal编程技术网

Intellij idea 如何在IdeaVIM中从Vim配置Ctrl+N和Ctrl+P完成?

Intellij idea 如何在IdeaVIM中从Vim配置Ctrl+N和Ctrl+P完成?,intellij-idea,vim,jetbrains-ide,ideavim,Intellij Idea,Vim,Jetbrains Ide,Ideavim,在Vim中,我们可以使用Ctrl+N或Ctrl+p来完成代码完成。如何在IdeaVim for IntelliJ中配置它?Alt+/和Alt+Shift+/在普通IntelliJ和安装了IdeaVim的情况下都可以工作 请看JetBrains的页面-它被称为Hippie Completion,新版本称之为Completion 当然,您可以始终使用Ctrl+Space、Ctrl+Shift+Space、Ctrl+Alt+Space。添加以下键映射:Ctrl+N表示向下,Ctrl+p表示向上 因此,

在Vim中,我们可以使用Ctrl+N或Ctrl+p来完成代码完成。如何在IdeaVim for IntelliJ中配置它?

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

请看JetBrains的页面-它被称为Hippie Completion,新版本称之为Completion


当然,您可以始终使用Ctrl+Space、Ctrl+Shift+Space、Ctrl+Alt+Space。添加以下键映射:Ctrl+N表示向下,Ctrl+p表示向上


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

在运行IdeaVIM时,在IDEA 2016.2.5中将CTRL-N和CTRL-p映射到循环扩展单词和循环扩展单词后,我无法让它们工作。两次击键都没用


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

文件->设置->键映射->搜索关键字循环扩展word

这是我发现的使用Ctrl-N和Ctrl-p完成单词的方法,而快捷方式仍然适用于列表中的“向下”和“向上”

在设置->键映射中,将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自动完成代码并循环浏览建议,如下所示:

文件->设置->键映射 在搜索栏上键入:hippie 将键盘快捷键添加到循环展开Word Ctrl+N如果出现提示,请删除其他指定 添加键盘快捷键以循环向后展开Word Ctrl+P如果出现提示,请删除其他指定 如果像我一样,您已将以下内容添加到.ideavimrc中:

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

通过在这两行前面加上或删除它们来注释这两行。

这很有用,很有用。你知道有没有快捷键可以显示列表,比如vimCtrl+Space、Ctrl+Shift+Space和Ctrl+Alt+Space是我所知道的唯一可以显示完成列表的快捷键。是否有人将Ctrl+P映射为与Alt+/相同的行为?我添加了新的键盘快捷键,但按Ctrl+P不起作用。没有冲突的快捷方式,我还尝试删除Alt+/mapping。No success=@IkarPohorský-在IntelliJ 15的最新EAP中,它对我有效,没有任何问题。谢谢,但我认为这不是一个可接受的答案。我已经使用vim超过25年了,并且每天都在多种环境中使用它,因此,仅在这一个环境中,必须为日常功能使用“特殊”键,这并不能使IdeaVIM听起来像一个好的模拟器。这是IDEA 2016.3.4的正确答案。这个答案的第二部分——将处理程序从vim更改为ide——是关键的一步,但是循环扩展单词的键映射也是必要的,正如其他答案和这个答案中提到的。你是个天才。这是假设有一个“完成”菜单。问题是当我们试图自动完成字符串时,例如MY_ENV_VALUE=os.ENV[MY_ENV_VALUE]。在真实的vim中,在第二个大写字母M完成所需字符串后,按Ctrl+P。这通常可以完美地工作。现在在PyCharm/ideaVim的一些更新之后,我不确定谁是罪魁祸首,这不起作用。。。它允许嬉皮士完成,但完成菜单中的向上/向下不再工作。我尝试了多种方法,但都无法再次发挥作用。你知道如何让这两个东西都重新工作吗?这对我来说是可行的,没有其他变化,例如,handler被设置为默认的Vim。我使用的是IntelliJ 2020.3.2和IdealVim 0.64。