Les raccourcis clavier comme Emacs à l'échelle du système?

27

Existe-t-il un moyen de définir des raccourcis clavier de type Emacs (au moins le sous-ensemble mentionné ci-dessous) pour l'ensemble du système d'exploitation? C'est possible dans certaines applications telles que le terminal, Emacs (allez comprendre :) et en plus via des plugins spéciaux dans d'autres applications (Eclipse), mais je me suis tellement habitué à Cf-ing par le texte et sans jamais avoir à sauter aux flèches que je J'aimerais pouvoir faire cela à l'échelle du système afin que je puisse le faire chaque fois que je tape - par exemple, rechercher des chansons dans Rhythmbox, taper des choses dans le tableau de bord ou le HUD, écrire des mails dans Thunderbird ou Gmail ... les combos qui m'intéressent le plus sont:

  • Cf - avant
  • Cb - en arrière
  • Ca - accueil
  • Ce - fin
  • Cd - supprimer
  • Ck - supprimer la ligne

(note pour les utilisateurs non-emacs - C signifie Ctrl)

metakermit
la source

Réponses:

15

Basé sur: /superuser//a/516847/205010

  1. Installez gnome-tweak-tool: sudo apt-get install gnome-tweak-tool

  2. Ouvrez-le: gnome-tweak-tool

  3. Accédez à Keyboard and Mouseet passez Key ThemeàEmacs

Eyal Levin
la source
1
c'est assez cool, mais beaucoup de choses ne fonctionne pas, c. -à- Cb, etc. Ck la solution tire probablement tout en emacs, navigateur par exemple, e - mails etc. plutôt que d' essayer de pousser les raccourcis clavier au - delà emacs
BPH
Où ça ne marche pas? Dans mon cas, cela fonctionne très bien la plupart du temps.
Eyal Levin
Il semble que si une application implémente un raccourci équivalent, cela a priorité. Ce qui est gênant
bph
Je ne pense pas que cela se produise pour toutes les applications. J'ai rencontré plusieurs fois dans Chrome que les raccourcis Emacs mondiaux avaient priorité sur les raccourcis d'applications Web spécifiques.
Eyal Levin
mon cas de test utilisait Yahoo Mail et Gmail dans un navigateur Firefox. dans les deux cas, Ca Ce Cf Cp Cn a fonctionné comme prévu, mais Cb a basculé la police en gras et Ck a ouvert une boîte de dialogue de lien. Donc, pour mon application particulière, c'est un peu hasardeux - je vais devoir essayer Chrome et voir si c'est différent
bph
14

J'ai réussi à résoudre le problème en utilisant AutoKey , comme recommandé dans cette réponse . Certaines de mes phrases sont:

content                     |   hotkey             |   description
---------------------------------------------------------------
<ctrl>+f                    |   <ctrl>+<alt>+f     | replace the find operation
<home>                      |   <ctrl>+a           | begining of line
<end>                       |   <ctrl>+e           | end of line
<left>                      |   <ctrl>+b           | back one letter
<right>                     |   <ctrl>+f           | forward one letter
<delete>                    |   <ctrl>+d           | delete one letter
<home><shift>+<end><delete> |   <ctrl>+k           | kill line

(ouais, le combo kill line était méchant à trouver :)

Vous pouvez continuer à remplacer des trucs, mais je ne veux pas que le remappage mental s'agrandisse (par exemple, ctrl + n n'ouvre pas une nouvelle fenêtre, mais passe à la ligne suivante). Dans l'ensemble, AutoKey est une application géniale!

Quoi qu'il en soit, j'ai maintenant l'ergonomie emacs de ne jamais avoir à laisser les "lettres" dans Ubuntu - dans chaque zone de texte que je modifie. Yeiii!

Mise à jour: au fur et à mesure que je jouais avec AutoKey pour affiner tout, j'ai fait pas mal de changements. Vous pouvez voir ma configuration complète d'AutoKey Ubuntu-Emacs (et l'installer) dans mon dépôt git dotfiles .

metakermit
la source
J'ai donc essayé le mot <alt> + f vers l'avant, mais il continuait de se heurter à l'ouverture d'un fichier dans emacs. Avez-vous rencontré ce problème? comment l'avez-vous résolu?
Sambatyon
4

Il existe une autre solution n'impliquant pas d'applications tierces publiées ici emacs keybindings in ubuntu 12.04

dolzenko
la source
L'utilisation de cette méthode ne fonctionnera pas dans des applications telles que Thunderbird, où Ctrl + F sera interprété comme "Find String" plutôt que "Move Cursor Forward".
holocronweaver
@holocronweaver true en effet, j'ai renoncé à faire fonctionner les clés Emacs dans Thunderbird, mais la plupart des autres entrées (notamment dans Chrome) fonctionnent presque. Je ne peux pas m'empêcher de penser que la solution AutoKey est également un moyen de ne jamais mettre fin aux tripotages et à la frustration :) Cela dit, avez-vous essayé la solution proposée par kermit666 et si oui - cela a-t-il fonctionné pour vous?
dolzenko
Après un peu de modification pour l'adapter à mes goûts, la solution AutoKey a plutôt bien fonctionné dans Firefox et Thunderbird sur Ubuntu 14.04. Encore plus de tests à faire.
holocronweaver