在 gnome-terminal 内的 Emacs 实例中使用 X11 剪贴板

Posted

技术标签:

【中文标题】在 gnome-terminal 内的 Emacs 实例中使用 X11 剪贴板【英文标题】:Using X11 clipboard in Emacs instance inside gnome-terminal 【发布时间】:2015-07-04 18:05:49 【问题描述】:

我在 Arch Linux 的 Gnome 终端中使用 Emacs 24.5.1。当我从 Gnome 终端窗口外部(从任何其他 X 窗口,例如 Firefox)复制文本时,它在 Emacs kill-ring 中不可用。我试过(setq x-select-enable-clipboard t) 无济于事。

我也试过this solution,还是不行。

注意:此功能在 Emacs 以图形方式运行时有效;我只是在终端窗口中运行 Emacs 时遇到问题。

【问题讨论】:

找到了一个[解决方案] (emacs.stackexchange.com/questions/412/…)(虽然很乱),我的问题隐藏在新的 emacs stackexchange 页面上(我搜索时没有显示)。 【参考方案1】:

Emacs 的开发版支持所谓的 OSC-52 转义序列,一些终端支持这些转义序列,让运行在终端内部的应用程序可以访问剪贴板。

遗憾的是,这个 OSC-52 功能在某些情况下(如当前在 xterms 中设计的那样)在某些情况下可能有些危险(例如,如果您通过 cat 在终端中显示由其他人编写的文件),因此大多数发行版默认禁用该功能。

但至少对我来说,在 Debian 测试下,在 xterm -xrm '*.allowWindowOps: true' 中运行 Emacs-25 可以让我通过 C-k 设置 X 剪贴板,就像 Emacs 在 GUI 模式下运行一样。

Emacs 还支持您想要的方向(即使 Emacs 中的 C-y 从 X 剪贴板中获取文本),但您还必须在您的 xterm-extra-capabilities 中添加 getSelection 到您的 xterm-extra-capabilities@。

【讨论】:

以上是关于在 gnome-terminal 内的 Emacs 实例中使用 X11 剪贴板的主要内容,如果未能解决你的问题,请参考以下文章

为啥是 Ctrl+.当我将它绑定到 Emacs 中的命令时不起作用?

使用 Emacs 归档模式替换耳朵内的 jar 文件

如何删除emacs垂直边框内的换行符号

Emacs 缓冲区内的 OpenGL 上下文

如何删除emacs垂直边框内的换行符

Emacs 匹配标签高亮