Ich möchte, dass Text, den ich in Emacs lösche, automatisch in die Zwischenablage des Bildschirms eingefügt wird. Der umgekehrte Weg ist mir egal. Ich kann das jetzt über eine temporäre Datei machen, muss aber jedes Mal einen Befehl ausführen, um die Daten auf dem Bildschirm abzurufen.
Antwort1
Sie könnten die Variable so ändern, interprogram-cut-function
dass sie einen Wert hat, der eine von Ihnen geschriebene Funktion ist, die allen gelöschten Text in die Zwischenablage des Bildschirms schiebt (und wahrscheinlich auch über die Zwischenablage Ihres Fenstersystems x-select-text
, was der Standardwert ist). Sie würden Ihrer Datei also Code ähnlich dem folgenden hinzufügen ~/.emacs
:
(setq interprogram-cut-function 'my-interprogram-cut-function)
(defun my-interprogram-cut-function (text)
"... docstring here ..."
;; First, do the default action.
(x-select-text text)
;; Next, push the killed text into screen (somehow).
...)
Der Teil am Ende beinhaltet wahrscheinlich das Ausführen eines Prozesses mit start-process
.