Emacs: Funktion, die einen elisp Code schreibt, die eine Keybinding vom Benutzer angegebenen fügt

StackOverflow https://stackoverflow.com/questions/1406581

  •  05-07-2019
  •  | 
  •  

Frage

Wie kann ich eine interaktive Funktion machen, die interaktiv einen Schlüssel vom Benutzer gelesen (wie beim Drücken von C-hk) und schreibe dann eine Zeile wie diese:

(global-set-key (kbd "C-x C-s") 'hello)

, wo die "C-x C-s" Teil in geeigneter Weise mit dem Leseschlüssel ersetzt wird.

Einige beginnen Benutzer haben Probleme machen keybindings und in der Tat ich verwirrt darüber zu, so dachte ich, lass es einfach automatisieren.

War es hilfreich?

Lösung

Dies scheint zu funktionieren:

(defun insert-key (key)
  (interactive (list (read-key-sequence "Key: ")))
  (insert "(global-set-key (kbd \"" (key-description key) "\") 'hello)\n"))

Andere Tipps

Hä? Vielleicht die Frage, die ich bin Missverständnis, aber wenn nicht, ist dies die Antwort: global-set-key ist ein Befehl . Und es tut genau das, was beantragt wird (IIUC.): Er liest eine Tastenfolge (Typen, klicken, etc.), und dann liest er den Befehl, um die Schlüsselsequenz zu binden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top