Nie można używać skrótów klawiaturowych IntelliJ IDEA w systemie Ubuntu

137

Jestem bardzo nowy w Ubuntu i mam problem, że nie wiem, jak to naprawić. Próbowałem nawet wyszukiwać odpowiedzi w Internecie, ale może nie znam odpowiednich terminów, aby je znaleźć.

Współpracuję z IntelliJ IDEA , aplikacją do programowania. I jestem bardzo przyzwyczajony do skrótów klawiaturowych, ale kiedy zmieniłem system Windows XP na Ubuntu 13.10, niektóre skróty już nie działają. Na przykład takie jak;

  • Ctrl+ Alt+
  • Alt + F8

Czy jest jakiś powód dlaczego? i czy jest na to jakaś poprawka? A może po prostu coś, co poprowadzi mnie w moich poszukiwaniach

Z góry dziękuję bardzo.

Rodrigo Sasaki
źródło
Czy masz na myśli skróty Ubuntu lub skróty w uruchomionym programie? W twoim przypadku IntelliJ IDEA?
AzkerM
Mam na myśli Intellij IDEAskróty
Rodrigo Sasaki
Widzisz, większość skrótów różni się w różnych systemach operacyjnych, ale nie jest to bardzo powszechne. Jak widzę skróty pod keyboard(wyszukiwanie z domu myślnika), ALT+F8odnosi się do okna zmiany rozmiaru.
AzkerM
Czy jest tak, że skróty aplikacji mają pierwszeństwo przed skrótami systemu operacyjnego? Lub jakiekolwiek inne rozwiązanie, naprawdę chciałbym odzyskać moje skróty
Rodrigo Sasaki
7
Ubuntu, proszę : użyj super klawisza dla każdego skrótu klawiaturowego w systemie, aby odróżnić go od zwykłych programów użytkownika.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

203

Trochę czytania nauczyło mnie, że Intellij IDEA to IDE zorientowane na klawiaturę. Oznacza to, że użycie może z nim współpracować bez konieczności dotykania myszy. Również zarządzam ustawieniem mapy klawiszy.

Dla Ubuntu

Zobacz, jak zmienić skróty klawiaturowe?

Oto lista poprawek, które należy wprowadzić przy użyciu domyślnych powiązań klawiszy systemowych, aby nie zakłócały działań IntelliJ IDEA (wymienionych w nawiasach).

  • Wyłącz czynność okna Cień przypisana do Ctrl+ Alt+ S(okno dialogowe Ustawienia)
  • Zmień lub wyłącz akcję blokady ekranu, przypisaną do Ctrl+ Alt+ L(kod ponownego formatowania)
  • Zmień lub wyłącz akcję Uruchom terminal, przypisaną do Ctrl+ Alt+ T(Surround z)
  • Zmień lub wyłącz akcję Przełącz do obszaru roboczego, przypisaną do Ctrl+ Alt+ Arrow Keys(Nawigacja)
  • Wyłącz akcję Przenieś okno, przypisaną do Alt+ F7(Znajdź użycie)
  • Zmień lub wyłącz akcję Zmień rozmiar, przypisaną do Alt+ F8(Oceń wyrażenie)

Mam nadzieję że to pomoże!

Uwaga: zawsze możesz przywrócić skróty Ubuntu do stanu domyślnego. Wystarczy zapoznać się z tematem Jak przywrócić domyślne skróty klawiaturowe? na wypadek zgubienia.

Źródło: - Intellij IDEA Keymap

AzkerM
źródło
3
Dokładnie! Jak wyjaśniono w punktach nawet na oficjalnej stronie. Niektórzy mówią, że wyłącz, a niektóre punkty wyjaśniają, że należy zmienić lub wyłączyć, zakładając, że użytkownik skorzysta. Na przykład użytkownik często korzysta z ekranu blokady, biorąc pod uwagę fakt; użytkownik może zmienić lub wyłączyć w zależności od potrzeb. Nie wyrządza to szkody, po prostu wyłącz / zmodyfikuj skróty. :)
AzkerM
6
To wszystko dobrze i dobrze, aby powiedzieć nam, jakie klucze należy uwolnić od ich używania w systemie operacyjnym. Ale nie powiedziałeś nam, jak to zrobić.
Lee Meador,
2
@LeeMeador - pytanie OP dotyczyło skrótów klawiaturowych związanych z IntelliJ IDEA. Skonstruowałem odpowiedź, aby pasowała do potrzeb OP. Ale dzięki za wskazanie. Dodam to również. (:
AzkerM,
9
Aby zmienić skróty klawiaturowe w Ubuntu, przejdź do Ustawienia -> Klawiatura -> Skróty. Będziesz musiał poruszać się po różnych oknach, aby znaleźć, gdzie są ustawione skróty.
Dean Schulze,
1
Ctrl + Alt + Lewy lub Ctrl + Alt + Prawy nie mogą być już nieprzypisane w GUI Gnome: / musisz użyć wersji wiersza poleceń w innej odpowiedzi: /
Honza
36

Wpadłem również na ten problem, jednak moje rozwiązanie było inne.

Nie wymaga hackowania ani zmiany systemowej mapy klawiszy

IntelliJ ma różne mapy klawiszy, które można zmieniać w zależności od systemu operacyjnego.

Możesz zmienić mapę klawiszy IntelliJ w ustawieniach.

Wystarczy przejść do Settings -> Keymapi wybrać żądaną mapę klawiszy z menu rozwijanego. W moim przypadku wybrałem „Default for GNOME”, ponieważ używam Ubuntu Gnome 16.04.

Francisco C.
źródło
1
Wielkie dzięki za udostępnienie, jest to znacznie lepsze rozwiązanie problemu niż zmiana systemowej mapy klawiszy. Może to być problematyczne, jeśli wykonujesz dużo przełączania OS / WM.
bfncs
Cieszę się, że mogłem pomóc. Zgadzam się, zmiana systemowej mapy klawiszy może powodować problemy.
Francisco C.
3
Zrobiłem to, ale istnieją pewne skróty, takie jak Ctrl + Alt + Right, które nadal należą do mapy klawiszy, mimo że zwija się z Ubuntu (gdy włączona jest opcja „Włącz pracę z komputerami”, zmieni się na pulpit po prawej stronie ). Czy ktoś z was to rozwiązał?
jscherman
Nie spotkałem się z tym problemem, przynajmniej nie dlatego, że pamiętam. W każdym razie zajrzałbym w to i dam ci znać.
Francisco C.
@jscherman - jakiej mapy klawiszy używasz?
Francisco C.
24

Dla Ubuntu 18.04 LTS Ctrl + Alt + lewy conflict Konflikt skrótów pomysłów Intellij)

  • zainstaluj Dconf Editor w oprogramowaniu ubuntu
  • uruchom Dconf Editor, przejdź do / org / gnome / desktop / wm / keybindings / switch-to-workspace-left

  • kliknij dwukrotnie jak poniżej

  • użyj wartości domyślnej (kliknij Wyłącz) -> Wartość niestandardowa (jak ja lub jeszcze)

  • możesz teraz użyć go w Intellij Idea

wprowadź opis zdjęcia tutaj

myśleć
źródło
1
Zrobił to dokładnie, a funkcja nawigacji wstecznej firmy Intellij nadal nie działa ...
Coder-Man,
8

Stworzyłem ten skrypt, który wyłącza wszystkie sprzeczne skróty między Ubuntu (testowane z 15.10) a IntelliJ (i prawdopodobnie większą liczbą produktów Jetbrains). Wyłącza je w Ubuntu.

Tworzy również plik kopii zapasowej, dzięki czemu można przywrócić poprzednie ustawienia.

Aby nie wyłączać niektórych skrótów, skomentuj je w KEYStablicy.

#!/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

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

Możesz go pobrać stąd:

wget -O fix-shortcuts.sh https://gist.githubusercontent.com/JonasGroeger/94cfa1071fa12572f465/raw/fix-shortcuts.sh
Jonas Gröger
źródło
4

Zobacz tutaj sposób programowego wyłączenia skrótów Ubuntu i tylko wtedy, gdy aktywne są okna niektórych aplikacji.

W szczególności użyj tych wartości (zakładając, że używasz JetBrains Toolbox ze standardową ścieżką instalacji; dostosuj inaczej):

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

Podczas działania skryptu skróty Ubuntu zawsze będą działać, z wyjątkiem sytuacji, gdy IDEA i in. skupić się.

Mam kolekcję JetBrains specyficznych skrótów tutaj ; docenia się wkład.

Raphael
źródło
2

Aby rozwinąć nieco doskonałą odpowiedź AzkerM:

  • Wyłącz akcję Przenieś okno, przypisaną do Alt+ F7(Znajdź użycie)
    • z Ustawienia -> Klawiatura -> Skróty -> Windows -> Przenieś okno
  • Zmień lub wyłącz akcję Zmień rozmiar, przypisaną do Alt+ F8(Oceń wyrażenie)
    • z Ustawienia -> Klawiatura -> Skróty -> Windows -> Zmień rozmiar okna
WillC
źródło
1

Korzystam z systemu Ubuntu 16.04, a kiedy korzystałem z tych naciśnięć klawiszy (ctrl-alt-left / right), okno zmieniało rozmiar i ustawiało się po prawej lub lewej stronie ekranu. Próbowałem wyłączyć te powiązania klawiszy w: Ustawienia / Klawiatura / Nawigacja, chociaż nie mam włączonych obszarów roboczych. Nadal nie zapobiegało to zachowaniu, które widziałem.

Na szczęście otworzyłem Compiz i natknąłem się na wtyczkę Window Management / Grid, która mapowała te klucze, aby umieścić okna w pozycji siatki. Wyłączyłem tę wtyczkę, a teraz moje skróty klawiszowe IntelliJ działają dobrze z ctrl-alt-left / right.

Jason White
źródło
1

Kilka krótkich obejść:
jeśli masz klawisz „ Windows ” na klawiaturze, możesz po prostu dodać go do całej kombinacji skrótów - powinien działać. Na przykład:

  • Ctrl+ Win+ Alt+ T(Surround with)
  • Win+ Alt+ F8(Oceń wyrażenie)
guzoff
źródło
0

W przypadku Ubuntu 16.04 przejdź do ustawień> Klawiatura i znajdź konkretną kombinację sprzeczną z wybranym, kliknij ją i zaktualizuj kombinację do nowej.

Cengkuru Michael
źródło
0

Używam Xneur do przełączania błędnie wpisanego tekstu na inny język. Mój system langauge jest chaged przez Ctrl + Shiftco blokuje IntelliJ skróty klawiszowe jak Ctrl + Shift + F(Global Search) oraz Ctrl + Shift + C(komentarz). Lewe przesunięcie jest ignorowane.

  • Jednym z rozwiązań jest zmiana języka przy użyciu Ctrl_L + Shift_Li użyciu Ctrl_R + Shift_Rdla Intellij . Ale to jakiś dyskomfort.

  • Innym rozwiązaniem jest użycie Xneur ( sudo ap-get install xneur) do przepisania błędnie wpisanego tekstu w innym języku. Możesz wyłączyć dowolne przełączanie języków systemowych i przypisać je do klawiszy skrótu xneur (to samo Ctrl+Shift). Xneur można dodać do aplikacji uruchamianych automatycznie.

Strefa
źródło
0

Ponadto sugeruję, aby wyłączyć wszystkie skróty do obszarów roboczych (jeśli go nie używasz) za pomocą następujących poleceń:

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up []
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down []
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left []
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right []
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right []
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-up []
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left []
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-down []
kh0ma
źródło