Risposte:
Per copiare la regione corrente negli appunti di OS X, è possibile utilizzare
(shell-command-on-region (region-beginning) (region-end) "pbcopy")
L'inverso, copiando il buffer di pasta di OS X nell'anello di eliminazione di Emacs, non è raccomandato. Gli anelli di uccisione e gli appunti sono strutture molto diverse e non c'è una buona risposta a cosa dovrebbe fare esattamente inserire gli appunti in un anello di uccisione. Tuttavia, è possibile eseguire pbpaste
manualmente per ottenere il contenuto degli appunti corrente.
Aggiungi questo a ~/.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)
Se usi Emacs in iTerm 2, puoi anche rimappare le combinazioni di tasti nelle preferenze:
Quindi aggiungere qualcosa del genere a ~/.emacs
:
(global-set-key (kbd "<f13> c") 'pbcopy)
(global-set-key (kbd "<f13> v") 'pbpaste)
(global-set-key (kbd "<f13> x") 'pbcut)
Ecco una soluzione per integrare gli Appunti OS X nell'uccisione di Emacs di Daniel Nelson: https://github.com/wesen/emacs/blob/master/pbcopy.el
Commenti dell'autore:
Consente a kill-ring di interagire con gli Appunti quando si esegue Emacs da un terminale Mac OSX (senza perdere la piena funzionalità kill-ring). Tutto quello che ho fatto è stato modificare
xclip.el
per lavorare conpbcopy
epbpaste
. I veri ringraziamenti vanno a Leo Shidai Liu, l'autore di xclip.el.
Il seguente funziona, capito da qui :)
(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))
La versione di emacs inclusa in OS X è troppo vecchia per fornire questa funzionalità.
Fortunatamente puoi aggiornare emacs a una versione integrata con gli appunti qui: http://emacsformacosx.com
Credo che tu usi Ctrl+ Yper incollare in emacs, dopo l'aggiornamento.
pbcopy
e pbpaste
sono entrambe le applicazioni terminali; qualsiasi altra app terminale potrebbe fare quello che fanno o semplicemente chiamarli direttamente.
pbcopy
Emacs taglia e copia. È possibile?
Ho trovato questo post davvero utile (definendo 2 funzioni e assegnando loro delle scorciatoie nel tuo file ~ / .emacs).
Dopo aver aggiunto quelle righe al tuo file .emacs, non avrai accesso a quelle scorciatoie finché non aprirai una nuova sessione di shell (tab / window). Lascia che le modifiche vengano applicate.
È possibile ottenere tale interazione con gli Appunti in modo trasparente durante l'esecuzione di Emacs nel terminale di testo abilitando xclip-mode
il xclip
pacchetto fornito che è possibile installare da GNU ELPA (cioè tramite M-x package-list-packages RET
).
Vedi anche /emacs/10900/ per una domanda e risposte simili.
/usr/bin/emacs
eseguibile fornito da Apple con OSX e che è arbitrariamente limitato al terminale di testo?