Emacs 命令剪切或复制到系统剪贴板?

Emacs 命令剪切或复制到系统剪贴板?

作为一个非常新的 Emacs 用户,我一直在使用 Ctrl+w 和 Ctrl+y 在 Emacs 的缓冲区之间进行剪切/复制和粘贴。有没有办法做同样的事情,以便不仅仅是 Emacs,而是整个系统都可以访问我正在复制和粘贴的内容?谢谢。

PS 我想在 Linux(在 X 下运行的终端模拟器)和 Mac OS X(例如使用终端)中执行此操作。

答案1

在 Linux 上,您可以使用xclip.el(https://www.emacswiki.org/emacs/xclip.el)从终端中运行的 Emacs 链接kill-ring到剪贴板(不会失去多重删除和复制功能)。

安装:M-x package-install RET xclip RET。要使用,只需添加(xclip-mode 1)到您的~/.emacs.


Mac 上不存在此功能,因此我进行了修改xclip.el以使用 OSXpbcopypbpaste实用程序。结果 ,pbcopy.el可在此处获取:https://gist.github.com/1023272

答案2

当 emacs 在 X 下运行时,有多种方法可以实现这一点(如果我理解正确的话)。如果您有最新版本的 emacs,我认为以下几行.emacs创建了最直观的行为:

(global-set-key "\C-w" 'clipboard-kill-region)
(global-set-key "\M-w" 'clipboard-kill-ring-save)
(global-set-key "\C-y" 'clipboard-yank)

一如既往,组织混乱但内容丰富Emacs维基有关于这个问题的信息。

但是,当您在终端中运行时,这些设置(以及到目前为止提到的其他设置)不会对您有帮助,因为终端位于 emacs 和 X 之间。如何从终端复制文本通常取决于终端。

答案3

您肯定是在谈论 X 剪贴板,因此请将以下行放入您的.emacs文件中:

(custom-set-variables '(x-select-enable-clipboard t))

答案4

在 CarbonEmacs(针对 Mac OS X 的原生外观构建)中,在本机应用程序中的命令键之间进行复制和粘贴,在 X 中单击鼠标中键,在 emacs 中单击 C-[w,y] 即可。

相关内容