我使用GNU Emacs 25.1.1。我在终端模式下使用它。 在GUI模式中,我知道如何复制和猛拉。在终端模式下,从另一个应用程序复制和粘贴工作但不是通常的键绑定。
通常 C-y 适用于emacs中的内容,但在我的终端模式中 C-Shift-V 仅适用于yanking。
但是当我尝试从emacs复制到另一个shell或应用程序时,它不会复制。
我不想用鼠标进行复制和yanking .. 有没有解决方法?我究竟做错了什么?
答案 0 :(得分:3)
在"终端模式"中,您并未真正与emacs进行互动。您正在与终端或终端仿真器进行交互。
当您listBox
和copy
发短信时,终端会执行此操作:您正在查看终端显示的文字,而不是您的emacs应用中的文字。
这就是您必须使用终端键绑定的原因: Ctrl-Shift-C 和 Ctrl-Shift-V 复制和粘贴文本。
这也是为什么在emacs中通过终端粘贴大文本的原因很慢:终端" get"文字和"重定向"它是emacs。
因此,如果您想在不使用鼠标的情况下选择,复制和粘贴文本,则必须配置终端。
答案 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 这样的东西),即使它在文本终端内运行。