ChatGPT解决这个技术问题 Extra ChatGPT

管理 IDE 和操作系统之间的键盘快捷键冲突 (Ubuntu)

我正在使用 IntelliJ IDEA,但我认为这适用于任何 IDE。

在 IDEA 中,某些 very useful keyboard shortcuts 与 Ubuntu 键盘快捷键冲突。一些例子:

Ctrl+Alt+L :格式化源代码(映射到 Ubuntu 中的“锁定屏幕”)

Ctrl+Alt+Left :向后导航(映射到 Ubuntu 中的“切换到当前工作区左侧的工作区”)

...

我已经使用 Ubuntu 很长时间了,我已经习惯了这些快捷方式。我一直使用它们在工作区之间切换,锁定我的会话......同时,我知道 IntelliJ 快捷方式有多么有用,并且我想尽可能避免使用鼠标。

目前,我对“格式化源代码”的解决方法是 Alt+D(打开“代码”菜单),然后是“R”(“重新格式化代码”)。它工作正常,因为我不经常格式化代码,但它可能会更好。但是,Ctrl+Alt+Left 没有真正的替代方案。

您如何在 IDE 中管理这些冲突?

您是否只是简单地将所有冲突的 IDE 键盘快捷键重新映射到其他东西(然后当您与具有不同快捷键的同事结对编程时迷失了......)?

你是否重新映射了 Linux 键盘快捷键(即使你已经“习惯”了它们)?

有没有办法让键盘快捷键“上下文”?我的意思是:在编码时按一个键进入“IDEA 模式”(所有冲突的 Ubuntu 快捷方式都暂时停用),再次按该键返回“标准模式”(Ubuntu 快捷方式被激活)。

您对如何管理此问题有任何其他想法/提示吗?


J
Jasper

我也使用 Ubuntu,并且禁用了本机 (Ubuntu) 命令 Ctrl + Alt + L,因为我更喜欢 IntelliJ 的格式代码而不是本机 Ubuntu 命令。但是,在第二种情况下,我更喜欢 Ubuntu 的快捷方式,所以我没有做任何更改。

所以基本上,你可以选择你需要更多的选项,然后采取相应的行动。

当然,直到 IDEA 变得对 Ubuntu 友好。

最后,Ubuntu 总是更喜欢它的快捷方式,到目前为止,我还没有找到任何可以根据要求禁用本机快捷方式的工具。


CrazyCoder / askmo:我对你们俩都投了赞成票。你的回答是务实的。我暗中希望有一个技巧可以在不重新映射所有内容的情况下管理键盘映射,但我想我只能接受它。我还要等几天才能接受你的答案,以防有人知道避免这样做的技巧。
不幸的是,没有比我告诉你的更好的解决方案了。在 IDEA 做出改变之前,你只能改变你能做的事情——目前你只能改变 Ubuntu 的快捷方式。 PS。我建议您上网查找可以启用/禁用所有快捷方式的 Ubuntu 实用程序。如果您找到这样的工具,请在此处发布,因为我自己找不到。谢谢!
我可能找到了一些东西,今晚要试试:askubuntu.com/questions/17315/…。我可以创建一个 bash 脚本,使用 gconftool-2 命令启用/禁用快捷键列表,并使用特定的键盘快捷键触发它:)
您不必再重新映射。 Settings -> Keyboard -> Shortcuts 可让您修改 Ubuntu 16.04 中大多数固有的键盘快捷键。此外,compizconfig-settings-manager 将允许您根据自己的喜好修改 Ubuntu 本机设置中未涵盖的任何其他热键。
f
fantom

我将 ubuntu 快捷方式更改为

ctrl+win+L

ctrl+win+左

与原版相似。对我来说很好。


你是怎么改的?
我将 Ubuntu 的“锁定屏幕”快捷方式更改为简单的 Win-L。 @Jas,如果您在使用“Win”(又名“Super”)键重新映射快捷方式时遇到问题,也许我对另一个键映射问题的回答会有所帮助:askubuntu.com/a/349614/54675
p
postfuturist

在 Ubuntu 中,禁用 ctrl+alt+left 键绑定的方法是打开 System Settings -> Keyboard -> Shorcuts(tab) -> Navigation 。滚动到“切换到左侧工作区”,单击它并点击退格键。愚蠢的是,甚至在默认情况下只有一个桌面的 Ubuntu 14.04 中启用了此功能。


出于某种原因,这些设置最近在我的桌面上自行重置(可能是在某些软件包更新之后)。我不知道为什么。
C
CrazyCoder

有一个 feature request 提供 Ubuntu 友好的键盘映射。

重新映射什么,IDEA 或 Linux 密钥?根据您更频繁地使用什么来决定自己。我猜你重新格式化代码比锁屏更频繁?所以重新映射 Linux 并保留 IDEA 默认的键盘快捷键。


A
Agilanbu

您只需将 super(又名 Windows 键)与 intellijidea 快捷方式结合使用,即可保留 Ubuntu 的默认快捷方式。

所以,你可以

Ctrl + Alt + WinKey + L 格式化代码和

Ctrl + Alt + WinKey + Left 用于向后导航

希望这可以帮助


我最终在这里解决了一个有点不同但相关的问题,并且使用 super+(我的快捷方式)对我有用。这是逃避系统快捷方式的标准方式还是只是一种相对常见的方式?
l
luboskrnac

这在 Ubuntu Studio 14.04 (XFCE) 中对我有用:

打开 Windows 管理器:xfwm4-settings

转到键盘选项卡

向下滚动到有冲突的操作

点击清除按钮或将操作更改为不同的快捷方式


W
Whenever

为了禁用 XUbuntu 的 (xfce) 键盘映射 Alt + F8Ctrl + Alt + Left /向右箭头 我使用了 Settings -> Window Manager -> tab "Keyboard"

在这里,我能够清除这些映射。


M
Mixaz

从 CrazyCoder 提供的功能请求链接:

实际上,有几个捆绑的方案:“GNOME 的默认”、“KDE 的默认”正是为此目的而创建的。我现在还没有检查特定的快捷键,比如 Ctrl+Alt+L,但是创建这些方案是为了避免分别与 GNOME 和 KDE 发生冲突。

“Gnome 的默认值”对我有用(我在 ArchLinux、Gnome3、AndroidStudio/InteliJ 上),它重新映射 Navigate/Back to Shift+Alt+Left(是“XWin 的默认值”中的 Ctrl+Alt+Left 和它没用)。

但是现在它也可以切换键盘布局(Shift + Alt),另一个问题))可能我会将键盘切换器重新映射到其他东西,它仍然更简单然后重新分配IDE / OS中的所有冲突键。


R
RiRomain

在“设置”部分的“键盘映射”中,您可以从 XWin、Gnome、Visual Studio、Eclipse 等中选择键盘映射模板......这可以通过选择 Gnome 解决 Ubuntu 中的任何问题。


投反对票是因为 ubuntu 短键仍然与 gnome 冲突。请参阅jetbrains.com/idea/help/reformatting-source-code.html
A
A. Kurchak

为了使用 intellij 热键,我在设置中禁用了下一个配置:

keyboard shortcuts (part 1)

keyboard shortcuts (part 1)

它帮助我使用 F1-F12 按钮进行工作组合。但我仍然不得不更改一些热键。

Ctrl + Alt + 左/右 -> Shift + Alt + 左/右

Ctrl + Alt + F7 -> Alt + F7

链接到我的 ubuntu 热键。

https://github.com/AnatoliiKurchak/intellij-ubuntu-hotkeys