Comment créer des traductions de clés dans emacs?

1

Je voudrais utiliser C-C B en tant que lien, il semble seulement qu'il soit déjà lié:

C-c b (translated from C-c B) runs the command …
  • Comment puis-je voir où est le code qui le lie?

  • Comment annuler cela moi-même?


B ou S-b , existe-t-il une norme pour cela?

Nikana Reklawyks
la source
Re note (1) à mon humble avis - non, ce n’est pas plus clair; La norme S (2) consiste à utiliser des majuscules lorsque vous entendez des majuscules, comme vous l’aurez, S n’est utilisé qu’avec d’autres modificateurs, comme dans C-S-b
ckhan
Merci. Cela signifie t-il C-B serait une mauvaise pratique, ou est juste pour, par exemple, C-S-s et M-S-m, pour les distinguer de Control-Shift-forgot-the-letter et donc ? Maintenant que je l'ai démonté, cela ressemble tellement à une deuxième question… Je ne sais pas si ça mérite d'être posté.
Nikana Reklawyks

Réponses:

2

C-h k C-c b pour montrer quelle commande est en cours d'exécution. Cliquez / appuyez sur l'espace sur le lien .el dans le premier paragraphe pour voir le code.

(global-unset-key "\C-cb") dans votre .emacs pour désinstaller la clé.

Modifier 1:

Commencez par trouver quelle commande est exécutée avec cette touche describe-key: C-h k C-c B. Si les rapports emacs C-c B is undefined Cela revient probablement à la commande en minuscule, C-c b.

En cas de repli comme celui-ci, lier une clé majuscule à (global-set-key (kbd "C-c B") 'command) laissera la clé de secours en place.

Sinon, le *help* La fenêtre décrivant la clé évoquera un .el fichier dans le premier paragraphe, vous pouvez le faire apparaître avec un clic, ou un espace quand le point est dessus. Votre commande sera probablement définie quelque part dans ce code.

Pour trouver le code, essayez de chercher describe-key, set-key, quelques variations de votre kbd chaîne, ou si le pire arrive au pire, key.

Daniel
la source
C'est le code de la définition de la fonction, pas le code qui lie la clé. De plus, vous libérez la clé minuscule, ce que je veux garder telle quelle, je veux simplement remplacer la majuscule.
Nikana Reklawyks
1
Je voulais dire que la reliure sera probablement dans la bibliothèque sur laquelle vous avez été désigné. Essayez de rechercher 'bind', 'set-key', 'defkey', etc., vous aurez peut-être de la chance. Dans mon cas, c'était org-mode avec org-defkey.
Daniel
Quant à la clé non configurée, selon cette page sur les liaisons emacs la bonne façon est (global-unset-key (kbd "C-c B")). Vient de le tester contre un set-key rapide dans scratch, semble fonctionner, mais retombe à C-c b si le lien pour la version majuscule n'existe pas.
Daniel
La recherche ne m'a pas donné de résultats, car je recherche C-x <left> dans simple.el. En ce qui concerne la reliure, la reliure en majuscule supprime la traduction, mais il est important que ma question conserve la liaison en minuscule intacte (mais vous pouvez modifier votre réponse pour en tenir compte).
Nikana Reklawyks
Merci, ma réponse a été modifiée. Je suppose que vous en voulez quelques-uns comme ça? C-x <left> n'est pas dans la question initiale. Je suppose qu'il n'y aura pas de solution de rechange.
Daniel