当前位置: 首页>>技术教程>>正文


无法在Ubuntu上使用IntelliJ IDEA键盘快捷键

, , ,

问题描述

我对Ubuntu很新,而且我遇到一个问题,我不知道如何修复它。我甚至试图在网上查找它的答案,但也许我不知道搜索它的正确术语。

我使用IntelliJ IDEA开发应用程序。我非常习惯键盘快捷键,但是当我从Windows XP切换到Ubuntu 13.10时,一些快捷键不再工作。例如,如;

  • Ctrl + Alt + <(左箭头)

  • Alt + F8

有什么理由为什么?有没有解决这个问题?或者也许只是在我的搜索引导我

非常感谢你提前。

最佳解决思路

有点阅读告诉我,Intellij IDEA是keyboard-centric IDE。它的意思是,一个用户可以使用它,而无需触摸鼠标。我也管理查找键盘设置。

对于Ubuntu

参见how to change keyboard shortcuts?

以下是您需要使用默认系统键绑定进行的调整列表,以便它们不会干扰IntelliJ IDEA操作(括号中列出)。

  • Disable the Shade window action, assigned to Ctrl + Alt + S (Settings dialog)
  • Change or disable the Lock Screen action, assigned to Ctrl + Alt + L (Reformat code)
  • Change or disable the Launch terminal action, assigned to Ctrl + Alt + T (Surround with)
  • Change or disable the Switch to workspace action, assigned to Ctrl + Alt + Arrow Keys (Navigation)
  • Disable the Move window action, assigned to Alt + F7 (Find usages)
  • Change or disable the Resize window action, assigned to Alt + F8 (Evaluate expression)

希望这可以帮助!

注意:您可以随时将Ubuntu快捷方式恢复到默认状态。只要参考How can I restore default keyboard shortcuts?,以防万一丢失。

来源: – Intellij IDEA Keymap

次佳解决思路

我也遇到了这个问题,但我的解决方案却不同。

不需要破解或更改您的全系统键盘映射

IntelliJ有不同的Keymaps,你可以根据你的操作系统改变它。

您可以从设置中更改IntelliJ Keymap

只需转到Settings -> Keymap并从下拉列表中选择所需的键盘映射。就我而言,我选择了“GNOME默认”,因为我使用的是Ubuntu Gnome 16.04。

第三种解决思路

我创建了这个脚本,禁用了Ubuntu(用15.10测试)和IntelliJ(可能还有更多Jetbrains产品)之间的所有冲突快捷方式。它在Ubuntu中禁用它们。

它还会创建一个备份文件,以便您可以恢复以前的设置。

要禁用某些快捷方式,请在KEYS数组中将其注释掉。

#!/bin/bash
set -euo pipefail

# Disables Ubuntu shortcuts that clash with IntelliJ Idea (and probably other
# Jetbrain products).
#
# Creates a backup file to restore the previous settings. To not have some
# shortcuts disabled, comment them out in the `KEYS` array.
#
# Tested on : Ubuntu 15.10
# Author    : Jonas Gröger <jonas.groeger@posteo.de>

readonly BACKUP_FILE="undo-fix-shortcuts-$(date +%s%N).sh"
readonly KEYS=(
    "/org/gnome/desktop/wm/keybindings/toggle-shaded"
    "/org/gnome/settings-daemon/plugins/media-keys/screensaver"
    "/org/gnome/settings-daemon/plugins/media-keys/terminal"
    "/org/gnome/desktop/wm/keybindings/switch-to-workspace-down"
    "/org/gnome/desktop/wm/keybindings/switch-to-workspace-up"
    "/org/gnome/desktop/wm/keybindings/switch-to-workspace-left"
    "/org/gnome/desktop/wm/keybindings/switch-to-workspace-right"
    "/org/gnome/desktop/wm/keybindings/begin-move"
    "/org/gnome/desktop/wm/keybindings/begin-resize"
    # To disable resetting a value, just comment out the line
)
readonly DISABLED_VALUE="['disabled']"

main() {
    # Make backup
    printf "#!/bin/bash\n" >>  "$BACKUP_FILE"
    for key in "${KEYS[@]}"; do
        local value
        value=$(dconf read "$key")
        printf "dconf write \"%s\" \"%s\"\n" "$key" "$value" >> "$BACKUP_FILE"
    done

    # Disable all Ubuntu shortcuts
    for key in "${KEYS[@]}"; do
        dconf write "$key" "$DISABLED_VALUE"
    done
}
main

你可以从这里得到它:

wget -O fix-shortcuts.sh https://gist.githubusercontent.com/JonasGroeger/94cfa1071fa12572f465/raw/fix-shortcuts.sh

第四种思路

请参阅here以便以编程方式禁用Ubuntu快捷方式,并且仅在某些应用程序的窗口处于活动状态时才有效。

具体来说,使用这些值(假设您使用带有标准安装路径的JetBrains Toolbox;否则进行调整):

apppattern = "JetBrains"
backupfile = "~/.local/share/JetBrains/keymap_backup"

脚本运行时,Ubuntu快捷方式将始终工作,除非IDEA等人。有重点。

我收集了JetBrains-specific快捷键here;输入赞赏。

第五种思路

只是为了扩大AzkerM的出色答案:

  • Disable the Move window action, assigned to Alt + F7 (Find usages)
    • from Settings –> Keyboard –> Shortcuts –> Windows –> Move Window
  • Change or disable the Resize window action, assigned to Alt + F8 (Evaluate expression)
    • from Settings –> Keyboard –> Shortcuts –> Windows –> Resize Window

第六种思路

我运行的是Ubuntu 16.04,当我使用这些按键(ctrl-alt-left /右)时,发生了什么事情,窗口正在调整大小,并将其自身放置在屏幕的右侧或左侧。我尝试在设置/键盘/导航中禁用这些键绑定,即使我没有启用工作区。它仍然没有阻止我所看到的行为。

幸运的是,我打开了Compiz,偶然发现了映射这些键以将窗口放置在网格位置的Window Management /Grid插件。我禁用了这个插件,现在我的IntelliJ键快捷键在ctrl-alt-left /right下正常工作。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/570.html,未经允许,请勿转载。