Zarządzanie konfliktami skrótów klawiaturowych między IDE a systemem operacyjnym (Ubuntu)

89

Używam IntelliJ IDEA, ale myślę, że dotyczy to dowolnego IDE.

W IDEA niektóre bardzo przydatne skróty klawiaturowe są w konflikcie ze skrótami klawiaturowymi Ubuntu. Kilka przykładów:

  • Ctrl+ Alt+L : formatuje kod źródłowy (mapowany na „Ekran blokady” w Ubuntu)
  • Ctrl+ Alt+Left : nawiguje wstecz (mapowane na „przełącz do obszaru roboczego po lewej stronie bieżącego obszaru roboczego” w Ubuntu)
  • ...

Używam Ubuntu od dłuższego czasu i jestem przyzwyczajony do tych skrótów. Używam ich cały czas, aby przełączać się między obszarami roboczymi, blokować sesję ... Jednocześnie wiem, jak przydatne mogą być skróty IntelliJ i chcę jak najbardziej unikać korzystania z myszy.

Obecnie moim obejściem dla „formatu kodu źródłowego” jest Alt+ D(otwiera menu „Kod”), po którym następuje „R” („Ponownie sformatuj kod”). Działa dobrze, ponieważ nie formatuję kodu tak często, ale mogłoby być lepiej. Nie ma jednak prawdziwej alternatywy dla Ctrl+ Alt+Left .

Jak zarządzasz tymi konfliktami w swoim IDE?

Czy po prostu odwzorowujesz wszystkie sprzeczne skróty klawiaturowe IDE na coś innego (a następnie zgubisz się, gdy programujesz w parze z kolegą z różnymi skrótami ...)?

Czy zmieniasz przypisanie skrótów klawiaturowych Linuksa (nawet jeśli jesteś do nich „przyzwyczajony”)?

Czy istnieje sposób, aby skróty klawiaturowe były „kontekstowe”? Rozumiem przez to: naciśnij klawisz, aby przejść do „trybu IDEA” podczas kodowania (wszystkie konfliktowe skróty Ubuntu są tymczasowo dezaktywowane), naciśnij ponownie klawisz, aby wrócić do „trybu standardowego” (skróty Ubuntu są ponownie aktywowane).

Czy masz jakieś inne pomysły / wskazówki, jak poradzić sobie z tym problemem?

Etienne Neveu
źródło

Odpowiedzi:

23

Używam również Ubuntu i wyłączyłem natywne (Ubuntu) polecenie Ctrl+ Alt+, Lponieważ wolę kod formatu IntelliJ niż to natywne polecenie Ubuntu. Jednak w drugim przypadku wolałem skrót do Ubuntu, więc niczego nie zmieniałem.

Zasadniczo możesz wybrać opcję, której potrzebujesz więcej, a następnie odpowiednio postępować.

Oczywiście, dopóki IDEA nie stanie się przyjazna dla Ubuntu.

Ostatecznie Ubuntu zawsze będzie preferować swoje skróty i jak dotąd nie znalazłem żadnego narzędzia, które mogłoby wyłączyć natywne skróty na żądanie.

sandalon
źródło
1
CrazyCoder / askmo: Głosowałem za was oboje. Twoje odpowiedzi są pragmatyczne. Miałem cichą nadzieję, że istnieje sztuczka do zarządzania mapami klawiszy bez ponownego mapowania wszystkiego, ale myślę, że będę musiał to zaakceptować. Nadal będę czekać kilka dni, zanim zaakceptuję twoje odpowiedzi, na wypadek, gdyby ktoś zna sztuczkę, aby tego uniknąć.
Etienne Neveu,
Niestety nie ma lepszego rozwiązania niż to, które ci powiedziałem. Dopóki IDEA nie wprowadzi zmian, nie możesz wiele zrobić, ale zmienić to, co możesz - aw tej chwili możesz zmienić tylko skróty Ubuntu. PS. Sugeruję, abyś wykopał sieć, aby znaleźć narzędzie Ubuntu, które może włączyć / wyłączyć wszystkie skróty. Jeśli znajdziesz takie narzędzie, prześlij je tutaj, ponieważ nie mogłem go znaleźć. Dzięki!
sandalone
Mogłem coś znaleźć, spróbuję tego dziś wieczorem: askubuntu.com/questions/17315/… . Mogę utworzyć skrypt bash, który włącza / wyłącza się lista skrótów za pomocą komendy gconftool-2 i wywołać go za pomocą specjalnego skrótu :)
Etienne Neveu
Nie musisz już zmieniać mapowania. Settings -> Keyboard -> Shortcutspozwoli ci zmodyfikować najbardziej nieodłączne skróty klawiaturowe w Ubuntu 16.04. Ponadto compizconfig-settings-manager pozwoli ci zmodyfikować dowolne inne skróty klawiszowe nieobjęte natywnymi ustawieniami Ubuntu według własnych upodobań.
anon58192932
23

Zmieniłem skróty Ubuntu na

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

podobny do oryginału. U mnie działa dobrze.

fantom
źródło
5
jak to zmieniłeś?
Jas
1
Zmieniłem skrót Ubuntu „Blokada ekranu” na po prostu Win-L. @Jas, jeśli masz problem z ponownym przypisaniem skrótów klawiszem „Win” (znanym również jako „Super”), być może pomoże moja odpowiedź na inne pytanie dotyczące mapowania klawiszy
Lambart
21

W Ubuntu sposobem na wyłączenie klawisza ctrl+ alt+ leftjest otwarcie Ustawienia systemu -> Klawiatura -> Skróty klawiszowe (zakładka) -> Nawigacja. Przewiń do „Przełącz na lewy obszar roboczy”, kliknij go i naciśnij Backspace. To głupie, że jest to nawet włączone w standardowym Ubuntu 14.04, gdzie domyślnie jest tylko jeden pulpit.

postfuturysta
źródło
Z jakiegoś powodu te ustawienia resetują się ostatnio (może po niektórych aktualizacjach pakietów) na moim pulpicie. Nie wiem dlaczego.
postfuturist
13

Jest prośba o funkcję o udostępnienie mapy klawiszy przyjaznej dla Ubuntu.

Co przemapować, klucze IDEA lub Linux? Zdecyduj sam w zależności od tego, czego używasz częściej. Chyba częściej formatujesz kod niż ekran blokady? Więc przemapuj Linuksa i pozostaw domyślny skrót klawiaturowy IDEA.

CrazyCoder
źródło
6

Możesz po prostu użyć super(aka Windows Key) w połączeniu ze swoim intellijideaskrótem, aby pozostawić domyślne skróty dla Ubuntu.

Więc możesz po prostu

Ctrl + Alt + WinKey +, L aby sformatować kod i

Ctrl + Alt + WinKey +Left do nawigacji wstecz

Mam nadzieję że to pomoże

besil
źródło
Skończyło się na nieco innym, ale powiązanym problemie i użycie super + (mój skrót) działało dla mnie. Czy jest to standardowy sposób na ucieczkę ze skrótów systemowych, czy tylko stosunkowo powszechny sposób?
4

To działa dla mnie w Ubuntu Studio 14.04 (XFCE):

  • Otwórz Menedżera Windows: xfwm4-settings
  • Przejdź do zakładki Klawiatura
  • Przewiń w dół do sprzecznej akcji
  • Naciśnij przycisk Wyczyść lub zmień akcję na inny skrót
luboskrnac
źródło
4

Aby wyłączyć mapę klawiszy XUbuntu (xfce) dla Alt+ F8i Ctrl+ Alt+ Left/Right Arrow , użyłem Settings -> Window Manager -> tab "Keyboard".

Tutaj udało mi się wyczyścić te mapowania.

Kiedy tylko
źródło
2

Z łącza do żądania funkcji udostępnionego przez CrazyCoder:

Właściwie istnieje kilka dołączonych schematów: „Domyślny dla GNOME”, „Domyślny dla KDE” stworzonych dokładnie w tym celu. Nie sprawdzałem teraz konkretnych skrótów, takich jak Ctrl + Alt + L, ale te schematy zostały stworzone, aby uniknąć konfliktów odpowiednio z GNOME i KDE.

„Domyślne dla Gnome” załatwiło mi sprawę (jestem na ArchLinux, Gnome3, AndroidStudio / InteliJ), zmieniło mapę Nawigacja / Powrót do Shift + Alt + Lewo (było Ctrl + Alt + Lewo z „Domyślnie dla XWin” i nie zadziałało).

Ale teraz przełącza również układ klawiatury (Shift + Alt), kolejny problem)) Prawdopodobnie zmienię mapowanie przełącznika klawiatury na coś innego, nadal jest to prostsze niż ponowne przypisanie wszystkich sprzecznych klawiszy w IDE / OS.

Mixaz
źródło
2

W sekcji „Ustawienia” „Mapa klawiszy” możesz wybrać szablon map klawiszy z XWin, Gnome, Visual Studio, Eclipse itp. To rozwiązuje każdy problem w Ubuntu, wybierając Gnome.

RiRomain
źródło
Głosował w dół, ponieważ krótkie klawisze ubuntu nadal powodują konflikt z gnomem. Zapoznaj się z jetbrains.com/idea/help/reformatting-source-code.html
thomas.han