【问题标题】:How can I modify the control/option/command key mappings in the IntelliJ's Emacs keymap?如何修改 IntelliJ 的 Emacs 键盘映射中的控制/选项/命令键映射?
【发布时间】:2011-04-02 00:39:20
【问题描述】:

默认情况下,Mac OS X 上的 GNU Emacs 使用 control 键作为 CTRLcommand 键作为 META 。这让我抓狂,因为我的 MacBook Pro 左侧只有一个 control 键,而我习惯在键盘的两侧都有一个 control 键。

通过我的 GNU Emacs 安装,我能够修改变量 mac-control-modifiermac-command-modifiermac-option-modifier,以便 command 充当 CTRL 和 option 充当 META

如何在 IntelliJ IDEA 中完成同样的事情?选择“Emacs”作为键盘映射很容易,但我看不出有任何方法可以对 CTRLMETA 进行类似的重新映射。我知道我可以在操作系统中全局重新映射这些键,但我不想这样做。我也知道我可以进入每一个动作并单独修改它们,但这似乎是一个糟糕的解决方案。

【问题讨论】:

    标签: macos intellij-idea emacs keymaps


    【解决方案1】:

    这可能不是最简单的解决方案,但您可以打开 resources.jar(MacOS 上的 /Applications/IntelliJIdea.app/lib/resources.jar)文件,找到 Keymap_Emacs.xml(在 idea 目录中)复制并修改它.

    然后您可以在 IntelliJ 中创建一个新的键盘映射,以便使用新内容更新它(MacOS 上为 ~/Library/Preferences/IntelliJIdea90/keymaps)。

    这样您就可以更改所有键盘映射,而无需单独更改每个操作。

    【讨论】:

    • 感谢 Colin,它工作得很好(而且很容易)。我要添加到您的答案中的唯一一件事是放置(打包的)Keymap_Emacs.xml 的直接副本是行不通的; Idea 9.0 在启动时会引发键盘映射错误。相反,我最终做的是在 Idea 的设置中打开 Keymap 部分,选择 Emacs 键盘映射,单击 Copy,然后进行一项修改,而不是应用更改。然后我在~/Library/Preferences/IntelliJIdea90/keymaps 中打开生成的keymap xml 并用meta 搜索和替换control 并保存它。一切正常。
    • 用户键盘映射的格式已更改。在 IntelliJ 14 中,它不再是原始的副本,而是现在是最小的,在根元素上有一个 parent 属性。唯一会出现在里面的 是那些已经被用户覆盖的。因此,现在在 IntelliJ 中创建自定义键映射后,您已将操作元素从打包的 Keymap_Emacs.xml 复制到自定义键映射中。之后效果很好。
    猜你喜欢
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 2013-12-24
    • 1970-01-01
    相关资源
    最近更新 更多