Posso configurare emacs
, in modo da poter copiare / tagliare il testo da emacs (versione predefinita di Terminal) e incollarlo da qualche altra parte (nel programma X Window)?
Per copiare la regione corrente negli appunti di OS X, puoi usare
(shell-command-on-region (region-beginning) (region-end) "pbcopy")
L'inverso, copiando il buffer di incisione OS X sull'anello di uccisione di Emacs, non è raccomandato. Uccidi gli anelli e gli Appunti sono strutture molto diverse e non c'è una buona risposta a ciò che, esattamente, si dovrebbe fare spingendo gli appunti in un anello di uccisione. Tuttavia, puoi 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:
Quindiaggiungiqualcosadisimilea~/.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 OS X negli appunti per l'uccisione di Emacs di Daniel Nelson: link
Commenti dell'autore:
Enables the kill-ring to interact with the clipboard when running Emacs from a Mac OSX terminal (without losing full kill-ring functionality). All I did was modify
xclip.el
to work withpbcopy
andpbpaste
. The real thanks go to Leo Shidai Liu, the author of xclip.el.
Quanto segue 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))
Ho trovato questo post davvero utile (definendo 2 funzioni e assegnando scorciatoie a loro nel tuo file ~ / .emacs).
Dopo aver aggiunto quelle linee al tuo file .emacs, non avrai accesso a quelle scorciatoie finché non aprirai una nuova sessione di shell (scheda / finestra). Applica le modifiche.
Puoi ottenere tale interazione con gli appunti in modo trasparente mentre esegui Emacs nel terminale di testo abilitando xclip-mode
fornito dal pacchetto xclip
che puoi installare da GNU ELPA (cioè tramite M-x package-list-packages RET
).
Vedi anche link per domande e risposte simili.
Leggi altre domande sui tag emacs copy-paste