如何将文本从Emacs复制到Linux上的另一个应用程序

时间:2020-03-05 18:53:52  来源:igfitidea点击:

当我在Emacs 22.1.1中剪切(杀死)文本时(在X上其自己的窗口中,在KDE中,在Kubuntu上),我无法将其粘贴(粘贴)在任何其他应用程序中。

解决方案

回答

嗯,我们使用的是什么平台和哪个版本的emacs?使用Windows Vista上的GNU Emacs 22.1.1,对我来说很好用。

如果我们有机会通过RealVNC查看器从Windows到Linux进行此操作,请确保首先在Linux机器上运行" vncconfig -iconic" ..

回答

我要做的是使用内置复制功能的优质终端工具(Windows上为PuTTY,Linux上为Konsole或者Terminal)。

在PuTTY中,用鼠标突出显示所需的文本,然后将其粘贴到其他位置。在PuTTY窗口中单击鼠标右键将粘贴Windows复制/粘贴缓冲区的内容。

在Linux上的Konsole或者Terminal中,突出显示所需内容,然后按Shift + Ctrl + C进行复制,并按Shift + Ctrl + V进行粘贴。

在emacs的win32编译中,大多数情况下,拖拽文本确实会将其放置在复制/粘贴缓冲区中。

在Mac OS X上,Apple键快捷键可以正常工作,因为Terminal会捕获它们。

在命令行上没有直接的方法,因为Shell不会为每个应用程序维护复制/粘贴缓冲区。 bash确实会为其自身保留一个复制/粘贴缓冲区,并且默认情况下,emacs ^ k / ^ y快捷方式有效。

回答

我始终在emacs中使用快速粘贴-drag选择,在目标窗口中单击鼠标中键。

(从参考资料到kate,我认为我们使用的是Linux或者类似操作系统,并且可能以一种或者另一种方式在X中使用emacs。)

回答

我们可能要指定使用的平台。是在Linux,Unix,MacOSX,Windows,MS-DOS上吗?

我相信对于Windows,它应该可以工作。对于MacOSX,它将添加到x-windows剪贴板中,这与macosx剪贴板不同。对于Linux,这取决于窗口管理器风格,但是我相信x-windows在大多数窗口中都可以很好地处理它。

因此,请指定。

回答

EmacsWiki上有一篇文章,解释了在X下复制和粘贴的一些问题以及如何配置它以使其正常工作。

回答

我认为emacs是指X下的Emacs(即不在终端窗口内)。

有两种方法:

  • (仅适用于unix操作系统)用鼠标突出显示所需的文本(这会将其复制到X剪贴板),然后单击鼠标中键进行粘贴。
  • 突出显示所需的文本,然后突出显示" M-x剪贴板-kill-ring-save"(注意,我们可以将其绑定到更简单的键上)。然后只需在我们喜欢的应用程序中"编辑->粘贴"即可。

剪贴板操作可用:

  • 剪贴板-杀死环-保存-将选择从Emacs复制到剪贴板
  • 剪贴板-杀死区域-将选择从Emacs剪切到剪贴板
  • 剪贴板粘贴-从剪贴板粘贴到Emacs

回答

将以下内容插入.emacs文件:

(setq x-select-enable-clipboard t)

回答

让我们小心这里的定义

  • Emacs副本是命令kill-ring-save(通常绑定到M-w)。
  • 通常通过按C-c(或者在应用程序窗口中选择"编辑"->"复制")获得系统副本。
  • X副本是用鼠标光标"物理地"突出显示文本。
  • Emacs粘贴是命令" yank"(通常绑定到" C-y")。
  • 系统粘贴通常是通过按" C-v"(或者在应用程序窗口中选择"编辑粘贴")获得的。
  • X粘贴是按下"鼠标中键"(通过同时按下鼠标左键和右键来模拟)。

就我而言(在GNOME上):

  • Emacs和系统复制通常都可以使用X粘贴。
  • X复制通常与Emacs粘贴一起使用。
  • 要使系统复制与Emacs粘贴一起工作,并且使Emacs复制与系统粘贴一起工作,我们需要在(.emacs)中添加((setq x-select-enable-clipboard t)或者尝试
META-X set-variable RET x-select-enable-clipboard RET t

我认为这是相当标准的现代Unix行为。

同样重要的是要注意(尽管我们说我们在单独的窗口中使用Emacs),当Emacs在控制台中运行时,它与系统和X剪贴板完全分离:在这种情况下,剪切和粘贴是由终端介导的。 。例如,终端窗口中的"编辑->粘贴"应该完全像将剪贴板中的文本输入到Emacs缓冲区中一样。

回答

我把这个贴在我的.emacs中:

(setq x-select-enable-clipboard t)
(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)

随后,我基本上没有问题,可以从Emacs中的任何内容剪切和粘贴到其他X11或者Gnome应用程序。

奖励:要使这些事情在Emacs中发生而不必重新加载整个.emacs,只需在.emacs缓冲区中每个表达式的关闭括号之后用光标执行C-x C-e。

祝你好运!