Antworten:
Mit können Sie den aktuellen Bereich in die OS X-Zwischenablage kopieren
(shell-command-on-region (region-beginning) (region-end) "pbcopy")
Das umgekehrte Kopieren des OS X-Einfügepuffers in den Emacs-Killring wird nicht empfohlen. Tötungsringe und Zwischenablagen sind sehr unterschiedliche Strukturen und es gibt keine gute Antwort darauf, was genau das Schieben einer Zwischenablage in einen Tötungsring bewirken sollte. Sie können jedoch pbpaste
manuell ausgeführt werden, um den aktuellen Inhalt der Zwischenablage abzurufen.
Fügen Sie dies hinzu zu ~/.emacs
:
(defun pbcopy ()
(interactive)
(call-process-region (point) (mark) "pbcopy")
(setq deactivate-mark t))
(defun pbpaste ()
(interactive)
(call-process-region (point) (if mark-active (mark) (point)) "pbpaste" t t))
(defun pbcut ()
(interactive)
(pbcopy)
(delete-region (region-beginning) (region-end)))
(global-set-key (kbd "C-c c") 'pbcopy)
(global-set-key (kbd "C-c v") 'pbpaste)
(global-set-key (kbd "C-c x") 'pbcut)
Wenn Sie Emacs in iTerm 2 verwenden, können Sie Tastenkombinationen auch in den Einstellungen neu zuordnen:
Fügen Sie dann Folgendes hinzu ~/.emacs
:
(global-set-key (kbd "<f13> c") 'pbcopy)
(global-set-key (kbd "<f13> v") 'pbpaste)
(global-set-key (kbd "<f13> x") 'pbcut)
Hier ist eine Lösung, um OS X Clipboard in Emacs Kill-Ring von Daniel Nelson zu integrieren: https://github.com/wesen/emacs/blob/master/pbcopy.el
Anmerkungen des Autors:
Ermöglicht es dem Kill-Ring, mit der Zwischenablage zu interagieren, wenn Emacs auf einem Mac OSX-Terminal ausgeführt wird (ohne die volle Kill-Ring-Funktionalität zu verlieren). Alles, was ich getan habe, war, Änderungen
xclip.el
anpbcopy
und vorzunehmenpbpaste
. Der wahre Dank geht an Leo Shidai Liu, den Autor von xclip.el.
Folgendes funktioniert einfach, habe es von hier :)
(defun copy-from-osx ()
(shell-command-to-string "pbpaste"))
(defun paste-to-osx (text &optional push)
(let ((process-connection-type nil))
(let ((proc (start-process "pbcopy" "*Messages*" "pbcopy")))
(process-send-string proc text)
(process-send-eof proc))))
(setq interprogram-cut-function 'paste-to-osx)
(setq interprogram-paste-function 'copy-from-osx))
Die in OS X enthaltene Emacs-Version ist zu alt, um diese Funktionalität bereitzustellen.
Zum Glück können Sie Emacs auf eine Version aktualisieren, die in Ihre Zwischenablage integriert ist: http://emacsformacosx.com
Ich glaube, dass Sie nach dem Update Ctrl+ verwenden, Yum Emacs einzufügen.
pbcopy
und pbpaste
beide Terminalanwendungen sind; Jede andere Terminal-App könnte das tun, was sie tun, oder sie einfach direkt anrufen.
pbcopy
in Emacs cut & copy. Ist es möglich?
Ich fand diesen Beitrag wirklich nützlich (Definition von 2 Funktionen und Zuweisung von Verknüpfungen zu diesen in Ihrer ~ / .emacs-Datei).
Nachdem Sie diese Zeilen zu Ihrer .emacs-Datei hinzugefügt haben, haben Sie erst dann Zugriff auf diese Verknüpfungen, wenn Sie eine neue Shell-Sitzung (Registerkarte / Fenster) öffnen. Übernehmen Sie die Änderungen.
Sie können eine solche Interaktion mit der Zwischenablage transparent erhalten, während Sie Emacs im Textterminal ausführen, xclip-mode
indem Sie das xclip
Paket aktivieren , das Sie von GNU ELPA (dh über M-x package-list-packages RET
) installieren können .
Eine ähnliche Frage und Antwort finden Sie unter /emacs/10900/ .
/usr/bin/emacs
ausführbare Datei, die von Apple mit OSX gebündelt wurde und die willkürlich auf das Textterminal beschränkt ist?