Verwalten von Tastaturkürzelkonflikten zwischen IDE und Betriebssystem (Ubuntu)

86

Ich verwende IntelliJ IDEA, aber ich denke, dies gilt für jede IDE.

In IDEA stehen einige sehr nützliche Tastaturkürzel in Konflikt mit Ubuntu-Tastaturkürzeln. Einige Beispiele:

  • Ctrl+ Alt+L : formatiert den Quellcode (in Ubuntu "Lock Screen" zugeordnet)
  • Ctrl+ Alt+Left : navigiert rückwärts (zugeordnet zu "Wechseln zum Arbeitsbereich links vom aktuellen Arbeitsbereich" in Ubuntu)
  • ...

Ich benutze Ubuntu schon lange und bin an diese Verknüpfungen gewöhnt. Ich benutze sie ständig, um zwischen Arbeitsbereichen zu wechseln, meine Sitzung zu sperren ... Gleichzeitig weiß ich, wie nützlich die IntelliJ-Verknüpfungen sein können, und ich möchte die Verwendung der Maus so weit wie möglich vermeiden.

Derzeit ist meine Problemumgehung für "Quellcode formatieren" Alt+ D(öffnet das Menü "Code"), gefolgt von "R" ("Code neu formatieren "). Es funktioniert in Ordnung, da ich Code nicht so oft formatiere, aber es könnte besser sein. Es gibt keine wirkliche Alternative für Ctrl+ Alt+Left , though.

Wie gehen Sie mit diesen Konflikten in Ihrer IDE um?

Ordnen Sie einfach alle widersprüchlichen IDE-Tastaturkürzel etwas anderem zu (und gehen dann verloren, wenn Sie mit einem Kollegen mit verschiedenen Tastenkombinationen paarweise programmieren ...)?

Ordnen Sie die Linux-Tastaturkürzel neu zu (obwohl Sie an sie "gewöhnt" sind)?

Gibt es eine Möglichkeit, Tastaturkürzel "kontextbezogen" zu gestalten? Damit meine ich: Drücken Sie eine Taste, um beim Codieren in den "IDEA-Modus" zu wechseln (alle widersprüchlichen Ubuntu-Verknüpfungen sind vorübergehend deaktiviert), drücken Sie die Taste erneut, um zum "Standardmodus" zurückzukehren (Ubuntu-Verknüpfungen werden reaktiviert).

Haben Sie weitere Ideen / Tipps zur Behebung dieses Problems?

Etienne Neveu
quelle

Antworten:

22

Ich benutze Ubuntu als gut und ich die native (Ubuntu) Befehl deaktiviert Ctrl+ Alt+L , weil ich es vorziehen , IntelliJ dem Format Code als dieser nativen Ubuntu Befehl. Im zweiten Fall habe ich jedoch die Verknüpfung von Ubuntu bevorzugt, damit ich nichts geändert habe.

Grundsätzlich können Sie also auswählen, welche Option Sie mehr benötigen, und dann entsprechend handeln.

Natürlich, bis IDEA Ubuntu-freundlich wird.

Am Ende wird Ubuntu immer seine Verknüpfungen bevorzugen und bisher habe ich kein Tool gefunden, das native Verknüpfungen auf Anfrage deaktivieren kann.

Sandale
quelle
1
CrazyCoder / askmo: Ich habe euch beide positiv bewertet. Ihre Antworten sind pragmatisch. Ich hatte insgeheim gehofft, dass es einen Trick gibt, um Keymaps zu verwalten, ohne alles neu zuzuordnen, aber ich denke, ich muss ihn einfach akzeptieren. Ich werde noch ein paar Tage warten, bevor ich Ihre Antworten akzeptiere, falls jemand einen Trick kennt, um dies zu vermeiden.
Etienne Neveu
Leider gibt es keine bessere Lösung als die, die ich Ihnen gesagt habe. Bis IDEA Änderungen vornimmt, können Sie nicht viel tun, sondern ändern, was Sie können - und im Moment können Sie nur die Verknüpfungen von Ubuntu ändern. PS. Ich würde vorschlagen, dass Sie das Netz durchsuchen, um das Ubuntu-Dienstprogramm zu finden, mit dem alle Verknüpfungen aktiviert / deaktiviert werden können. Wenn Sie ein solches Tool finden, posten Sie es bitte hier, da ich es selbst nicht finden konnte. Vielen Dank!
Sandalone
Ich könnte etwas gefunden haben und es heute Abend versuchen: askubuntu.com/questions/17315/… . Ich kann ein Bash-Skript erstellen, das eine Liste von Verknüpfungen mit dem Befehl gconftool-2 aktiviert / deaktiviert und es mit einer bestimmten Tastenkombination auslöst :)
Etienne Neveu
Sie müssen nicht mehr neu zuordnen. Settings -> Keyboard -> ShortcutsMit dieser Option können Sie die meisten inhärenten Tastaturkürzel in Ubuntu 16.04 ändern. Darüber hinaus können Sie mit compizconfig-settings-manager alle anderen Hotkeys, die nicht in den nativen Ubuntu-Einstellungen enthalten sind, nach Ihren Wünschen ändern.
anon58192932
23

Ich habe Ubuntu-Verknüpfungen in geändert

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

ähnlich wie Original. Funktioniert gut für mich.

Fantom
quelle
5
Wie hast du es geändert?
Jas
1
Ich habe die Ubuntu-Verknüpfung "Lock Screen" geändert, um einfach Win-L zu sein. @Jas, wenn Sie Probleme haben, Verknüpfungen mit der Taste "Win" (auch bekannt als "Super") neu zuzuordnen, hilft vielleicht meine Antwort auf eine andere Keymapping-Frage: askubuntu.com/a/349614/54675
Lambart
20

In Ubuntu können Sie die ctrl+ alt+ leftTastenkombination deaktivieren, indem Sie Systemeinstellungen -> Tastatur -> Shorcuts (Registerkarte) -> Navigation öffnen. Scrollen Sie zu "Zum linken Arbeitsbereich wechseln", klicken Sie darauf und drücken Sie die Rücktaste. Es ist albern, dass dies sogar für Ubuntu 14.04 aktiviert ist, wo es standardmäßig nur einen Desktop gibt.

Postfuturist
quelle
Aus irgendeinem Grund wurden diese Einstellungen kürzlich (möglicherweise nach einigen Paketaktualisierungen) auf meinem Desktop zurückgesetzt. Ich weiß nicht warum.
Postfuturist
13

Es gibt eine Funktionsanforderung , um eine Ubuntu-freundliche Keymap bereitzustellen.

Was sind Remap-, IDEA- oder Linux-Schlüssel? Entscheiden Sie selbst, je nachdem, was Sie häufiger verwenden. Ich denke, Sie formatieren den Code häufiger neu als den Sperrbildschirm? Ordnen Sie also Linux neu zu und lassen Sie die IDEA-Standardtastenkürzel.

CrazyCoder
quelle
5

Sie können einfach die super(auch als Windows-Taste bezeichnet) in Kombination mit Ihrer intellijideaVerknüpfung verwenden, um die Standardverknüpfungen für Ubuntu beizubehalten.

Also kannst du einfach

Ctrl + Alt + WinKey + L um den Code zu formatieren und

Ctrl + Alt + WinKey +Left für die Rückwärtsnavigation

Hoffe das hilft

besil
quelle
Ich bin hier wegen eines etwas anderen, aber verwandten Problems gelandet und die Verwendung von Super + (meine Verknüpfung) hat für mich funktioniert. Ist dies eine Standardmethode, um Systemverknüpfungen zu entkommen, oder nur eine relativ häufige Methode?
4

Dies funktioniert bei mir in Ubuntu Studio 14.04 (XFCE):

  • Öffnen Sie den Windows Manager: xfwm4-settings
  • Gehen Sie zur Registerkarte Tastatur
  • Scrollen Sie nach unten zu "Konfliktaktion"
  • Klicken Sie auf die Schaltfläche Löschen oder ändern Sie die Aktion in eine andere Verknüpfung
luboskrnac
quelle
4

Um die Xymbuntu (xfce) Keymap für Alt+ F8und Ctrl+ Alt+ zu deaktivieren, habe Left/Right Arrow ich verwendetSettings -> Window Manager -> tab "Keyboard" .

Hier konnte ich diese Zuordnungen löschen.

Wann immer
quelle
2

Vom Link zur Funktionsanforderung von CrazyCoder:

Tatsächlich gibt es mehrere gebündelte Schemata: "Standard für GNOME", "Standard für KDE", die genau für diesen Zweck erstellt wurden. Ich habe jetzt bestimmte Verknüpfungen wie Strg + Alt + L nicht überprüft, aber diese Schemata wurden erstellt, um Konflikte mit GNOME bzw. KDE zu vermeiden.

"Default for Gnome" hat den Trick für mich gemacht (ich bin auf ArchLinux, Gnome3, AndroidStudio / InteliJ), es hat Navigate / Back to Shift + Alt + Left (war Strg + Alt + Left von "Default for XWin" und es neu zugeordnet hat nicht funktioniert).

Aber jetzt wechselt es möglicherweise auch das Tastaturlayout (Umschalt + Alt), ein weiteres Problem.) Wahrscheinlich werde ich den Tastaturumschalter einem anderen Element zuordnen. Es ist immer noch einfacher, alle widersprüchlichen Tasten in IDE / OS neu zuzuweisen.

Mixaz
quelle
2

Im Abschnitt 'Einstellungen' 'Keymap' können Sie die Keymaps-Vorlage aus XWin, Gnome, Visual Studio, Eclipse usw. auswählen. Dies löst jedes Problem in Ubuntu, indem Sie Gnome auswählen.

RiRomain
quelle
Abgestimmt, weil Ubuntu-Kurztasten immer noch mit Gnome in Konflikt stehen. Siehe jetbrains.com/idea/help/reformatting-source-code.html
thomas.han