IntelliJ键盘重复问题在idea.vim中

116

我刚刚安装了IntelliJ CEIdeaVim插件。

一个小窗口询问了按键重复,是否要启用。但是我并不清楚它在问什么,就点击了“否”,结果这个设置是关于移动光标的按键:h j k l

我现在无法长按这些键来连续移动我的光标。 我已经尝试恢复默认设置但没有成功。

大多数答案都是 defaults write com.jetbrains.intellij.ce ApplePressAndHoldEnabled -bool false 或者 defaults write com.jetbrains.intellij ApplePressAndHoldEnabled -bool false, 但是没有任何改变。

我使用的操作系统是OS X El Capitan 10.11.6和IntelliJ IDEA CE 2016.2.4版本。


1
如果您不想利用高级的 Vim 动作,为什么要在 IDE 中安装“vim 插件”呢?何必麻烦呢? - romainl
1
@romainl,你所说的“高级vim动作”是什么意思?我有什么遗漏吗? - ijung
按住 hjkl 键与按住方向键完全相同。如果你只使用 hjkl,那么安装 "vim 插件" 没有任何意义。 - romainl
1
可能是Intellij-idea: auto-repetition of letter keys的重复问题。 - P.Brian.Mackey
20
@romainl,你似乎认为Vim只是用来导航的,而且OP只是用Vim来导航。 - whirlwin
显示剩余2条评论
6个回答

128

结果发现我需要在Mac终端中键入此命令:

defaults write -g ApplePressAndHoldEnabled -bool false

这与vim、intelliJ等无关。 看起来Mac想通过按住键来支持重音字符。


43
如果还是无法正常工作,您应该先按下 Command+Q 来退出 IntelliJ。 - Hearen
13
我刚刚安装了IdeaVim插件,弹出窗口显示:“你可以通过运行命令defaults write -g ApplePressAndHoldEnabled 0来手动完成设置”。 - aaronpenne
经过数月的痛苦和折磨,我再也无法忍受了。我必须找到一种方法,而上述提示起了作用!非常感谢你!! - daparic
1
@aaronpenne的评论起作用了,而不是答案。你应该把你的评论变成一个答案。 - laughing_man
1
@Chethan Bandi的解决方案是最好的,如果您只想将此更改应用于您的IDE而不是整个系统。 - safay

89

7
这个答案是正确的解决方案,因为当我不在集成开发环境中工作时,我通常不需要这个功能。但是我该如何找到此命令的应用程序名称? - Vladislav Kovechenkov
3
如果您正在使用PyCharm:defaults write com.jetbrains.pycharm ApplePressAndHoldEnabled -bool false - safay
你可以在终端中输入defaults write com.jetbrains.,然后按Tab键进行自动补全。这样做给我在WebStorm中的默认设置为:defaults write com.jetbrains.WebStorm - niklaas

7
@aaronpenne 2020年的评论实在太有用了,不能仅仅当作一条评论。他的建议是唯一可行的:

我刚安装了IdeaVim,弹出窗口显示“您可以手动运行defaults write -g ApplePressAndHoldEnabled 0”。


1
这对我有用。记得在运行命令后重新启动IDE,以使更改生效。 - Bower

2
如果您已经使用defaults write -g命令设置了全局值(或JetBrains为您设置了全局值),则可能需要在使用特定于应用程序的默认值之前删除全局默认值,如此SuperUser帖子中所述
defaults delete -g ApplePressAndHoldEnabled

我完成了这个操作并针对RubyMine设置了特定的应用程序值...
defaults write com.jetbrains.rubymine ApplePressAndHoldEnabled -bool true

我可以在RubyMine中使用IdeaVim,并且在所有其他应用程序中仍然可以使用按住重音对话框。


1
谢谢这个,虽然为了让RubyMine中的键重复按键按照我期望的方式工作,我将其设置为false而不是true:defaults write com.jetbrains.rubymine ApplePressAndHoldEnabled -bool false,然后重新启动了RubyMine。 - Eliot Sykes

1

如果有人对来自PyCharm的消息感到困惑,让我们先阅读一下:

Do you want to enable repeating keys in Mac OS X on press and hold?

这意味着,如果你一直按同一个键,就好像按了很多次(预期的行为)。就是这样。

虽然我不是vim专家,但个人认为键盘的操作方式不应该与我习惯的不同,所以建议按yes

如果你来不及修复它,可以尝试其他答案的建议,例如:

对于Intellij Ultimate版

defaults write com.jetbrains.intellij ApplePressAndHoldEnabled -bool false

对于Intellij社区版
defaults write com.jetbrains.intellij.ce ApplePressAndHoldEnabled -bool false

0
我找到了一个适用于各种Jetbrains IDE的代码片段:
感谢这个链接:https://gist.github.com/lsd/1e1826907ab7e49c536a
    Community Edition IntelliJ: - defaults write com.jetbrains.intellij.ce ApplePressAndHoldEnabled -bool false
    Ultimate Edition IntelliJ: defaults write com.jetbrains.intellij ApplePressAndHoldEnabled -bool false
    AppCode: defaults write com.jetbrains.AppCode ApplePressAndHoldEnabled -bool false
    PyCharm: defaults write com.jetbrains.PyCharm ApplePressAndHoldEnabled -bool false
    Android Studio: defaults write com.google.android.studio ApplePressAndHoldEnabled -bool false
    WebStorm: defaults write com.jetbrains.WebStorm ApplePressAndHoldEnabled -bool false *
    RubyMine: defaults write com.jetbrains.RubyMine ApplePressAndHoldEnabled -bool false *

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接