复制粘贴如何与xterm一起使用?


59

在xterms中单击鼠标左键可以开始选择要复制粘贴的内容。

双击鼠标左键选择一个单词。

左键单击三次选择一条线。

所有这些都在11.04中统一起作用。但是,无法将所选内容复制粘贴到另一个位置:右键单击菜单显示禁用粘贴,并且单击鼠标中键以复制粘贴不起作用。

那么如何将选择从xterm复制到另一个地方?我对执行此操作的任何方法感到满意。

(到目前为止,我使用的是默认安装,没有特殊配置)

编辑:xedit的同样问题


1
这完全取决于您的DE和终端。
RobotHumans 2013年

@AbrahamVanHelpsing:我使用的是默认安装,应该这样说……
false

1
选择后,您需要复制,然后只能粘贴。只是提及它是因为问题的编写方式,看来您想直接从选择粘贴。换句话说,用鼠标左键选择,从右键菜单中复制,然后从右键菜单中粘贴。

1
您正在使用XTerm吗?(软件)还是您将Gnome终端称为XTerm?
Uri Herrera

@ vasa1:但是在选择了鼠标左键之后,仍然禁用了鼠标右键粘贴!

Answers:


44

使用中键或Shift +插入

参见X窗口选择


2
鼠标中键无效,Shift-Insert也无效(我从未听说过,但是我尝试过)。例如,我尝试将某些内容复制粘贴到我刚刚写的文本框中...

2
如果您在xterm中选择某项,则X有两个剪贴板,它将进入剪切缓冲区,在这种情况下,您可以单击鼠标中键或Shift + insert进行粘贴。这与复制粘贴的概念不同。

我添加了一个链接来帮助解释X 11的选择过程。

谢谢。但是,现在我如何统一从xterm到另一个应用程序的文本。以前,(我使用业力),我只是按照您的建议使用了中间点击。但是现在,在统一下,即11.04;单击鼠标中键和按住shift键都无效。

1
如果shift + insert确实可行,那么我们可以排除它。您在使用剪贴板管理器吗?xsel之类的?
2013年

28

Xterm使用剪切缓冲区,而不是用于gnome-terminal和大多数其他Linux程序现在使用的标准复制粘贴的标准X11剪贴板选择。

但是,如果您这样启动xterm:

xterm -ls -xrm 'XTerm*selectToClipboard: true'&

然后可以通过标准剪贴板进行选择。

在“ 复制和粘贴Xterm”中阅读更多内容。StarNet知识数据库-PC X,X Windows,X 11和更多-StarNet

xcb程序还提供对剪切缓冲区的命令行访问。

例如,在运行lxde窗口管理器的Trusty Tahr 12.04中,我可以在xterm中三行单击一行文本,将其突出显示并将其放在剪切缓冲区0中。然后,我可以运行xcb -p 0,将其输出到stdout上。

由于某种原因,在xterm中单击两个按钮(模拟中键单击)对我来说不起作用,但shift-insert在xterm中确实起作用。


4
+1-为我解决。在搜索“如何在xTerm中复制”之类的问题时出现此问题,值得补充的是,如果您设置了.Xresources(或类似文件),则可以在该xterm*selectToClipboard: true行中添加行以使更改永久存在:)
阿什莉·戴维斯

Stefan的答案解释了如何确保Ashley的回复中的设置被读取(在Fedora 29上为我工作-在没有Stefan的额外xrdb步骤的情况下,我没有尝试过,但是他还提到您必须重新启动xterm,尽管这对大多数人来说很明显人)
poikilos

请注意,如果您使用-class ${CLASS}启动xterm相应的标志,-xrm ${CLASS}.*.selectToClipboard:true那么如果您具有单独的xterm窗口类,则会分别跟踪设置。
stevesliva

11

这里讨论了类似的问题。正如“字符串”指出的那样:

如果您在xterm中选择某项,则X有两个剪贴板,它将进入剪切缓冲区,在这种情况下,您可以单击鼠标中键或Shift + insert进行粘贴。这与复制粘贴的概念不同。

在xterm中复制/粘贴对我有用,但对外部的应用程序(例如gedit)无效。按照上面的链接,我安装了parcellite并解决了该问题,

sudo apt-get install parcellite

更新:如果“粘贴”不能与“ shift-insert”一起使用,请使用鼠标中键,或者如果您没有同时单击左键和右键的同时粘贴。


1
为了更加清楚起见,请在安装parcellite之后运行它。它位于系统托盘中。右键单击>首选项,然后选中“使用主”和“同步剪贴板”。现在,在Xterm中选择某些内容,然后可以在其他位置按Ctrl-V。
伊恩·吉布斯

感谢它的工作,但一旦您安装了paracellite,请重新启动终端
user889030

10

在xterm和其他程序/文档/ ...之间复制

添加到文件~/.Xresources(或创建):

XTerm*selectToClipboard: true

然后运行命令:

xrdb -merge ~/.Xresources

重新启动xterm。



4

这不能完全回答您的问题,但是对我有所帮助,因此将其放在此处,因为它可能会帮助其他人:

  1. 通过选择文本从xterm复制所需内容
  2. 打开第二个xterm副本和您喜欢的文本编辑器(我使用vim)
  3. 使用Shift + Insert(或单击鼠标中键)粘贴到文本编辑器中
  4. 保存文件。
  5. 如有必要,使用图形文本编辑器(如gedit)打开文件
  6. 复制您的文本并将其粘贴到所需的应用程序中。

3

要在Xterm中复制文本,请先选择文本,然后按shift+ PrtScr。要在Xterm中粘贴文本,请使用shift+ Insert


在64位Linux Mint Xfce中不起作用。
阿德里安·凯斯特

2

选择文本时,文本将自动放入剪切缓冲区(如剪贴板)中。当您使用“复制”时,可通过菜单或键盘快捷键进入主剪贴板。

要将剪切缓冲区粘贴到xterm中,请单击鼠标中键。要将剪贴板中的内容粘贴到xterm中,请单击鼠标中键。



1

Xterm使用主要的X11选择,这与剪贴板不同。程序xsel可用于将主要选择复制到剪贴板中:

xsel -op | xsel -ib

为了做到这一点,我为此在Fluxbox中定义了Meta-c。

Mod4 c :Exec xsel -op | xsel -ib

这对于仅支持一个剪贴板(例如VirtualBox)的Windows程序很方便。


0

我还有在12.04上运行的有用的Glipper剪贴板管理器。
如果我选择xterm字符,它们将出现在新的Glipper条目中。
如果我在该序列中选择该条目(按钮),则下一个粘贴将来自该条目(并将这些字符粘贴到任何应用程序中)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.