如何将文本从一个屏幕会话中的emacs复制到终端中另一个屏幕会话中的emacs

如何将文本从一个屏幕会话中的emacs复制到终端中另一个屏幕会话中的emacs,emacs,terminal,copy,gnu-screen,Emacs,Terminal,Copy,Gnu Screen,我在SSH的屏幕中使用emacs进行大部分工作,并且希望能够将文本从一个会话复制到另一个会话。我目前使用鼠标进行选择,但这是有问题的,原因有三: 间距经常被弄乱,尤其是制表符 我必须暂时脱离垂直屏幕分割进行复制,以免另一半也被复制 我不能复制超过一个垂直屏幕的文本 当然,它要求我把手从键盘上拿开,这会减慢我的速度。有没有一种方法可以使用类似于emacs kill ring buffers的命令来使用键盘在屏幕会话之间粘贴?我已经多年没有使用屏幕了,因此我无法给出基于屏幕的答案,但您可以尝试其他方

我在SSH的屏幕中使用emacs进行大部分工作,并且希望能够将文本从一个会话复制到另一个会话。我目前使用鼠标进行选择,但这是有问题的,原因有三:

间距经常被弄乱,尤其是制表符 我必须暂时脱离垂直屏幕分割进行复制,以免另一半也被复制 我不能复制超过一个垂直屏幕的文本
当然,它要求我把手从键盘上拿开,这会减慢我的速度。有没有一种方法可以使用类似于emacs kill ring buffers的命令来使用键盘在屏幕会话之间粘贴?

我已经多年没有使用屏幕了,因此我无法给出基于屏幕的答案,但您可以尝试其他方法:

如果emacs在同一台机器上,请在守护程序模式下使用emacs,然后使用EmacClient。您可以在多个屏幕会话中使用相同的emacs会话。因为它是同一个emacs会话,所以kill环是相同的,剪切和粘贴是微不足道的,您的3个问题都解决了。如果文件位于不同的主机中,只需通过ssh从同一主机中的同一emacs会话打开它们emacs就可以使用tramp打开远程文件

使用tmux替代屏幕。它更易于编写脚本和配置。您可以在tmux中使用复制模式来复制和粘贴tmux缓冲区,您可以使用类似于键组合的emacs来选择这些缓冲区。虽然这些缓冲区可能跨越多个tmux页面,但复制模式无法在它在tmux缓冲区上滚动的emacs缓冲区上滚动。所以这些并不能解决你的3个问题

创建一个emacs密钥绑定,将文件的一个区域粘贴到临时文件写入区域,并从同一文件中读取另一个区域