如何将糊状物从emacs [终端模式]复制到没有鼠标的另一个应用程序



i使用gnu emacs 25.1.1。我在终端模式下使用它。在GUI模式下,我知道如何复制和拉动。在终端模式下,从另一个应用程序复制和粘贴起作用,但不使用通常的键键。

通常, c-y 用于内部emacs内部,但在我的终端模式下 c-shift-v 仅适用于拉力。

但是,当我尝试从emacs复制到另一个外壳或应用程序时,它不会复制。

我不想使用鼠标复制和拉力。有解决方法吗?我究竟做错了什么?

在"终端模式"中,您并没有真正与Emacs进行交互。您正在与终端或终端模拟器进行互动。

当您 copypaste文本时,终端会这样:您正在使用终端显示的文本,而不是emacs应用中的文本。

这就是为什么您必须使用终端键键: ctrl-shift-c ctrl-shift-v 复制和粘贴文本。

这也是为什么在emacs中粘贴大型文本的原因很慢:终端"获取"文本和"重定向"。

因此,如果您想在没有鼠标的情况下选择,复制和粘贴文本,则必须配置终端。

这是一个示例

您可能想尝试使用xclip-mode(可从GNU ELPA获得),该con依赖于外部程序(X11下的xclip,MacOS上的CC_4),让Emacs与您的GUI进行通信(对于之类的东西 c-y c-k )即使它在文本终端中运行。

我通过在我的MacOS框上使用shell-command-on-region与命令行pbpaste/pbcopy一起这样做。如有必要,将其绑定到键:

(global-set-key "C-cr" (shell-command-on-region (point) (mark) "pbcopy"))

您可以使用类似的命令行程序(https://github.com/ghuntley/pasteboard)和Linux(xsel/xclip)。

有一个称为 clipetty的软件包,可以用tty的emacs操纵系统剪贴板。

配置很简单,在您的初始文件中添加以下两行。

(require 'clipetty)
(global-clipetty-mode)

然后,每次您杀死或拉动东西时,您的系统剪贴板也会被覆盖。

要粘贴到emacs,您可以使用终端键键 ctrl-shift-v

最新更新