Câu trả lời:
Để sao chép vùng hiện tại vào bảng tạm OS X, bạn có thể sử dụng
(shell-command-on-region (region-beginning) (region-end) "pbcopy")
Không nên đảo ngược, sao chép bộ đệm dán OS X vào vòng khử Emacs. Kill ring và clipboard là những cấu trúc rất khác nhau và không có câu trả lời hay cho việc chính xác, đẩy một clipboard vào vòng kill nên làm gì. Tuy nhiên, bạn có thể chạy pbpaste
thủ công để có được nội dung clipboard hiện tại.
Thêm cái này vào ~/.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)
Nếu bạn sử dụng Emacs trong iTerm 2, bạn cũng có thể ánh xạ lại các tổ hợp phím trong tùy chọn:
Sau đó thêm một cái gì đó như thế này vào ~/.emacs
:
(global-set-key (kbd "<f13> c") 'pbcopy)
(global-set-key (kbd "<f13> v") 'pbpaste)
(global-set-key (kbd "<f13> x") 'pbcut)
Đây là một giải pháp để tích hợp Clipboard OS X vào vòng diệt của Emacs bởi Daniel Nelson: https://github.com/wesen/emacs/blob/master/pbcopy.el
Nhận xét của tác giả:
Cho phép kill-ring tương tác với clipboard khi chạy Emacs từ thiết bị đầu cuối Mac OSX (mà không mất chức năng kill-ring đầy đủ). Tất cả tôi đã làm là sửa đổi
xclip.el
để làm việc vớipbcopy
vàpbpaste
. Lời cảm ơn thực sự đến Leo Shidai Liu, tác giả của xclip.el.
Sau đây chỉ hoạt động, có nó từ đây :)
(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))
Phiên bản emacs đi kèm với OS X đã quá cũ để cung cấp chức năng này.
May mắn thay, bạn có thể cập nhật emacs lên một phiên bản được tích hợp với clipboard của bạn tại đây: http://emacsformacosx.com
Tôi tin rằng bạn sử dụng Ctrl+ Yđể dán vào emacs, sau khi cập nhật.
pbcopy
và pbpaste
cả hai đều là ứng dụng đầu cuối; bất kỳ ứng dụng thiết bị đầu cuối nào khác có thể làm những gì họ làm, hoặc chỉ cần gọi trực tiếp cho họ.
pbcopy
vào Emacs cắt và sao chép. Có thể không?
Tôi thấy bài đăng này thực sự hữu ích (xác định 2 chức năng và gán phím tắt cho chúng trong tệp ~ / .emacs của bạn).
Sau khi thêm các dòng đó vào tệp .emacs của bạn, bạn sẽ không có quyền truy cập vào các phím tắt đó cho đến khi bạn mở phiên shell mới (tab / cửa sổ). Hãy để những thay đổi được áp dụng.
Bạn có thể nhận được sự tương tác như vậy với bảng tạm trong khi chạy Emacs trong thiết bị đầu cuối văn bản bằng cách bật gói xclip-mode
được cung cấp bởi xclip
gói mà bạn có thể cài đặt từ GNU ELPA (tức là thông qua M-x package-list-packages RET
).
Xem thêm /emacs/10900/ để biết câu hỏi và câu trả lời tương tự.
/usr/bin/emacs
thực thi cổ xưa được Apple đóng gói với OSX và được giới hạn tùy ý trong thiết bị đầu cuối văn bản?