将文本从 emacs 复制到其他程序

将文本从 emacs 复制到其他程序

假设我想将我在 emacs 中编写的文件的一部分复制到博客帖子或类似内容中。将文本放入 kill ring 不允许我将其粘贴到另一个程序中。目前,我必须在 gedit 中打开同一个文件并从那里复制/粘贴。有没有更简单的方法?

[奇怪的是,反过来却工作得很好:例如,从 SU 答案中复制文本,我可以用 Cy 将其粘贴到 emacs 中……]

答案1

(setq x-select-enable-clipboard t)      ;Make kill/yank work with the X clipboard

答案2

它应该可以正常工作。您是否正在运行,emacs -nw因为这可能会阻止它工作。尝试粘贴到另一个应用程序,而不是您用于博客发布的应用程序(浏览器?),例如,gedit看看是否有效。

来自 emacs 手册:

26.1.2 使用其他窗口应用程序进行剪切和粘贴

要将文本复制到另一个窗口应用程序,请将其终止或保存在终止环中。然后使用其他应用程序的“粘贴”或“复制”命令插入文本。

要从另一个窗口应用程序复制文本,请使用其“剪切”或“复制”命令选择所需的文本。然后使用 C-y' or鼠标 2' 将其拖入 Emacs。

当 Emacs 将文本放入 kill ring 或将文本旋转到 kill ring 的前面时,它会在窗口系统中设置“主要选择”。这是其他窗口应用程序访问文本的方式。在 X Window System 上,emacs 还将文本存储在剪切缓冲区中,但前提是文本足够短(“x-cut-buffer-max”的值指定最大字符数);将长字符串放入剪切缓冲区可能会很慢。

提取 kill ring 中第一个条目的命令实际上首先检查另一个程序中的主要选择;然后,它们检查剪切缓冲区中的文本。如果这两个源都没有提供要提取的文本,则使用 kill ring 内容。

X Window System 选择的标准编码系统是 compound-text-with-extensions'. To specify another coding system for selections, useCx x' 或 `Cx X'。 *注意通信编码::。

相关内容