我的.emacs中有(cua-mode t),因此Cc是复制的,而Cv是粘贴的,就像桌面上的其他大多数程序(Ubuntu,Gnome,Linux)一样。但是,Emacs似乎并未与其他程序共享剪贴板/复制缓冲区。
例如,如果我在Firefox中使用Cc,则可以将SCv粘贴到终端中,或者将Cv粘贴到gedit中。但是,如果我在emacs中使用Cv(或Cy),则无法获得从Firefox复制的内容。
有什么办法可以使这项工作吗?我可以使用另一个命令来访问系统的复制粘贴缓冲区吗?
这适用于我的机器:
;; CUA OS copypasta even in ncurses mode (case system-type ('darwin (unless window-system (setq interprogram-cut-function (lambda (text &optional push) (let* ((process-connection-type nil) (pbproxy (start-process "pbcopy" "pbcopy" "/usr/bin/pbcopy"))) (process-send-string pbproxy text) (process-send-eof pbproxy)))))) ('gnu/linux (progn (setq x-select-enable-clipboard t) (defun xsel-cut-function (text &optional push) (with-temp-buffer (insert text) (call-process-region (point-min) (point-max) "xsel" nil 0 nil "--clipboard" "--input"))) (defun xsel-paste-function() (let ((xsel-output (shell-command-to-string "xsel --clipboard --output"))) (unless (string= (car kill-ring) xsel-output) xsel-output ))) (setq interprogram-cut-function 'xsel-cut-function) (setq interprogram-paste-function 'xsel-paste-function))))