如何在不使用鼠标的情况下将粘贴从EMACS [终端模式]复制到另一个应用程序?

时间:2017-09-07 08:23:25

标签: emacs

我使用GNU Emacs 25.1.1。我在终端模式下使用它。 在GUI模式中,我知道如何复制和猛拉。在终端模式下,从另一个应用程序复制和粘贴工作但不是通常的键绑定。

通常 C-y 适用于emacs中的内容,但在我的终端模式中 C-Shift-V 仅适用于yanking。

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

我不想用鼠标进行复制和yanking .. 有没有解决方法?我究竟做错了什么?

3 个答案:

答案 0 :(得分:3)

在"终端模式"中,您并未真正与emacs进行互动。您正在与终端或终端仿真器进行交互。

当您listBoxcopy发短信时,终端会执行此操作:您正在查看终端显示的文字,而不是您的emacs应用中的文字。

这就是您必须使用终端键绑定的原因: Ctrl-Shift-C Ctrl-Shift-V 复制和粘贴文本。

这也是为什么在emacs中通过终端粘贴大文本的原因很慢:终端" get"文字和"重定向"它是emacs。

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

Here's an example

答案 1 :(得分:1)

我是通过在我的macOS框中使用shell-command-on-region以及命令行pbpaste / pbcopy来执行此操作的。如有必要,将其绑定到密钥:

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

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

答案 2 :(得分:1)

您可能想尝试xclip-mode(可从GNU ELPA获得),它依赖于外部程序(X11下的xclip和macOS上的pbcopy)让Emacs与您的GUI通信(对于像 Cy Ck 这样的东西),即使它在文本终端内运行。