虽然键盘是DVORAK,但IntelliJ 14键盘快捷键是QWERTY

Joh*_*hom 18 macos intellij-idea osx-yosemite intellij-14

  • 运行IntelliJ 14
  • 使用Mac OS X布局
  • 在OS X(Yosemite)上运行

IntelliJ通常使用DVORAK,但不使用键盘快捷键.键盘快捷键在QWERTY中.好像它们是基于扫描码而不是映射后的键值.

想法?

编辑1 @gabriel很难说,但这里有一些例子......注意:在DVORAK和QWERTY上,m,a和0-9相同

cmd+/     'comment line' flashes code menu and sometimes moves to a brace (/ == {)
cmd+b      works, goes to definition  (b == n)
cmd+opt+l 'reformat' flashes code menu  (l == p)
Run Code Online (Sandbox Code Playgroud)

Cha*_*tha 20

事实证明这是Java中存在多年的问题,并且仍然存在于Java 9中.请参阅此处的错误报告:https://bugs.openjdk.java.net/browse/JDK-8022079

JetBrains多年来一直意识到这个问题,但正在等待Oracle修复它.请参阅这些JetBrains错误报告:https://youtrack.jetbrains.com/issue/IDEABKL-6493https://youtrack.jetbrains.com/issue/IDEA-63779

在这些报告中,您将找到一种使用名为Karabiner的免费工具的解决方法.我刚刚确认它适用于IntelliJ.它可能也适用于其他基于Java的工具.

对于早于Sierra OSX ,解决方法是:

  • https://pqrs.org/osx/karabiner/下载并安装Karabiner
  • 在OSX系统偏好设置中,将键盘设置为默认的"US International"PC.如果您经常输入变音符号和其他国际字符,则只需将键盘设置为"US"即可.
  • 在Karabiner设置中,在搜索框中键入"dvorak",然后向下滚动到该部分For U.S. Input Source并进行检查Use Dvorak Keyboard Layout (QWERTY to Dvorak)

从macOS Sierra开始,正如用户MithrilTuxedo在评论中报告的那样,程序是不同的.您必须使用Karabiner Elements(新的Karabiner核心)和配置文件.我已在https://cpbotha.net/2016/12/16/dvorak-remapping-with-karabiner-elements-on-macos-sierra-works/概述了该程序,并在此简要总结:

  • 下载并安装Karabiner Elements.
  • 从示例中复制qwerty_to_dvorak.json并将其安装为新的karabiner.json配置文件.
  • 如果Karabiner Elements正在运行,它将获取新文件.

此错误将影响大多数基于Java的工具,例如JetBrains(IntelliJ,PyCharm,WebStorm,AppCode)以及可能还有Netbeans.上面总结的解决方案应该可以缓解所有情况下的问题.


Mz *_*z A 10

我已经使用类似的组合键也有类似的问题,CTRL + N的IntelliJ 16的Linux(红帽).我使用Colemak键盘.我在操作系统中设置了两个输入源,即系统首选项.

  1. 英语(美国)

  2. 英语(Colemak键盘)

当我改变输入源的顺序,并将Colemak放在第一位时,问题似乎就消失了.

系统工具>设置>键盘>输入源

  • 也在Ubuntu 18.04(dvorak)上为我工作 (3认同)
  • 这对我来说也适用于Kubuntu 16.04和neo2布局 - 非常感谢! (2认同)