问题描述
我对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下正常工作。