Управление конфликтами сочетаний клавиш между IDE и ОС (Ubuntu)

89

Я использую IntelliJ IDEA, но думаю, что это применимо к любой IDE.

В IDEA некоторые очень полезные сочетания клавиш конфликтуют с сочетаниями клавиш Ubuntu. Некоторые примеры:

  • Ctrl+ Alt+L : форматирует исходный код (сопоставлен с «Экраном блокировки» в Ubuntu)
  • Ctrl+ Alt+Left : переход назад (отображается как «переключиться на рабочее пространство слева от текущего рабочего пространства» в Ubuntu)
  • ...

Я давно использую Ubuntu и привык к этим ярлыкам. Я использую их все время для переключения между рабочими пространствами, блокировки сеанса ... В то же время я знаю, насколько полезными могут быть ярлыки IntelliJ, и я хочу по возможности избегать использования мыши.

В настоящее время мой обходной путь для «исходного кода формата» - Alt+ D(открывает меню «Код»), за которым следует «R» («Переформатировать код»). Это работает нормально, так как я не часто форматирую код, но могло бы быть лучше. Однако реальной альтернативы для Ctrl+ Alt+ нетLeft .

Как вы справляетесь с этими конфликтами в своей среде IDE?

Вы просто переназначаете все конфликтующие сочетания клавиш IDE на что-то другое (а затем теряетесь, когда программируете с коллегой в паре с разными сочетаниями клавиш ...)?

Вы переназначаете сочетания клавиш Linux (даже если вы к ним «привыкли»)?

Есть ли способ сделать сочетания клавиш «контекстными»? Под этим я имею в виду: нажмите клавишу, чтобы перейти в "режим IDEA" при кодировании (все конфликтующие ярлыки Ubuntu временно деактивированы), нажмите клавишу еще раз, чтобы вернуться в "Стандартный режим" (ярлыки Ubuntu реагируют).

Есть ли у вас другие идеи / советы по решению этой проблемы?

Этьен Невё
источник

Ответы:

23

Я также использую Ubuntu, и я отключил собственную (Ubuntu) команду Ctrl+ Alt+, Lпотому что я предпочитаю код формата IntelliJ, чем эту собственную команду Ubuntu. Однако во втором случае я предпочел ярлык Ubuntu, поэтому ничего не менял.

В общем, вы можете выбрать, какой вариант вам нужно больше, а затем действовать соответствующим образом.

Конечно, пока IDEA не станет дружественной к Ubuntu.

В конце концов, Ubuntu всегда будет отдавать предпочтение своим ярлыкам, и до сих пор я не нашел ни одного инструмента, который мог бы отключить собственные ярлыки по запросу.

сандалон
источник
1
CrazyCoder / askmo: Я поддержал вас обоих. Ваши ответы прагматичны. Я втайне надеялся, что есть уловка, позволяющая управлять раскладками клавиш без переназначения всего, но, думаю, мне просто придется с этим согласиться. Я все еще собираюсь подождать несколько дней, прежде чем принимать ваши ответы, на случай, если кто-то знает, как этого избежать.
Этьен Невё
К сожалению, лучшего решения, чем то, что я вам сказал, нет. Пока IDEA не внесет изменения, вы ничего не можете сделать, кроме как изменить то, что вы можете, - а на данный момент вы можете изменять только ярлыки Ubuntu. PS. Я бы посоветовал вам покопаться в сети, чтобы найти утилиту Ubuntu, которая может включать / отключать все ярлыки. Если вы найдете такой инструмент, опубликуйте его здесь, потому что я не смог найти его сам. Благодарность!
sandalone 05
Я мог бы найти что-нибудь, собираясь попробовать сегодня вечером: askubuntu.com/questions/17315/… . Я могу создать сценарий bash, который включает / отключает список горячих клавиш с помощью команды gconftool-2 и запускает его с помощью определенного сочетания клавиш :)
Этьен Неве,
Вам больше не нужно переназначать. Settings -> Keyboard -> Shortcutsпозволит вам изменить большинство встроенных сочетаний клавиш в Ubuntu 16.04. Кроме того, compizconfig-settings-manager позволит вам изменить любые другие горячие клавиши, не включенные в собственные настройки Ubuntu, по своему вкусу.
anon58192932
23

Я изменил ярлыки ubuntu на

  • ctrl+ win+L
  • ctrl+ win+Left

похож на оригинал. У меня отлично работает.

фантом
источник
5
как ты это поменял?
Jas
1
Я изменил ярлык Ubuntu «Lock Screen» на просто Win-L. @Jas, если у вас возникли проблемы с переназначением ярлыков с помощью клавиши «Win» (также известной как «Super»), возможно, мой ответ на другой вопрос о сопоставлении клавиш поможет: askubuntu.com/a/349614/54675
Lambart
21

В Ubuntu способ отключить привязку клавиш ctrl+ alt+ left- открыть Системные настройки -> Клавиатура -> Быстрые клавиши (вкладка) -> Навигация. Прокрутите до «Переключиться на рабочее пространство слева», щелкните по нему и нажмите Backspace. Глупо, что это включено даже в стандартной версии Ubuntu 14.04, где по умолчанию есть только один рабочий стол.

постфутурист
источник
По какой-то причине эти настройки недавно сбрасывались (возможно, после некоторых обновлений пакетов) на моем рабочем столе. Не знаю почему.
постфутурист
13

Существует запрос функции для предоставления удобной раскладки клавиатуры для Ubuntu.

Что переназначить, ключи IDEA или Linux? Решайте сами в зависимости от того, что вы используете чаще. Я думаю, вы чаще форматируете код, чем экран блокировки? Поэтому переназначьте Linux и оставьте сочетание клавиш IDEA по умолчанию.

CrazyCoder
источник
6

Вы можете просто использовать super(он же Windows Key) в сочетании со своим intellijideaярлыком, чтобы оставить ярлыки по умолчанию для Ubuntu.

Итак, вы можете просто

Ctrl + Alt + WinKey + L для форматирования кода и

Ctrl + Alt + WinKey + Left для перехода назад

Надеюсь это поможет

бесил
источник
Я оказался здесь из-за несколько другой, но связанной проблемы, и использование super + (мой ярлык) сработало для меня. Это стандартный способ избежать системных ярлыков или просто относительно распространенный способ?
4

Это работает для меня в Ubuntu Studio 14.04 (XFCE):

  • Откройте диспетчер Windows: xfwm4-settings
  • Перейдите на вкладку "Клавиатура"
  • Прокрутите вниз до конфликтующего действия
  • Нажмите кнопку Очистить или измените действие на другой ярлык
Любоскрнак
источник
4

Чтобы отключить раскладку XUbuntu (xfce) для Alt+ F8и Ctrl+ Alt+, Left/Right Arrow я использовал Settings -> Window Manager -> tab "Keyboard".

Здесь я смог очистить эти сопоставления.

Всякий раз, когда
источник
2

По ссылке на запрос функции, предоставленной CrazyCoder:

Собственно, есть несколько связанных схем: «По умолчанию для GNOME», «По умолчанию для KDE», созданных именно для этой цели. Я не проверял конкретные сочетания клавиш, такие как Ctrl + Alt + L, но эти схемы были созданы, чтобы избежать конфликтов с GNOME и KDE соответственно.

«По умолчанию для Gnome» помогло мне (я использую ArchLinux, Gnome3, AndroidStudio / InteliJ), он переназначил «Навигация / Назад» на Shift + Alt + Left (был Ctrl + Alt + Left вместо «По умолчанию для XWin», и это не сработало).

Но теперь он переключает и раскладку клавиатуры (Shift + Alt), другая проблема)) Наверное, я переназую переключатель клавиатуры на что-то другое, это все еще проще, чем переназначить все конфликтующие клавиши в IDE / OS.

Mixaz
источник
2

В разделе «Настройки» «Раскладка клавиатуры» вы можете выбрать шаблон раскладок из XWin, Gnome, Visual Studio, Eclipse и т. Д. Это решит любую проблему в Ubuntu, выбрав Gnome.

РиРомен
источник
Проголосовал против, потому что короткие ключи ubuntu все еще конфликтуют с gnome. См. Jetbrains.com/idea/help/reformatting-source-code.html
thomas.han