我使用64位xubuntu 14.04。时不时地,当我尝试在xfce4-terminal中粘贴一些文本,而不是粘贴期望的文本时,它被0~1~包围,例如:
文本应该是mvn clean install -我通过将内容粘贴到其他各种应用程序(gnome-terminal,gedit和其他应用程序)中对此进行了验证。每个应用程序都正确粘贴内容,xfce4-terminal除外。我在互联网上找不到任何参考(不幸的是,很难在google.com上搜索带有特殊字符的文本...)。为什么会发生这种情况?

评论

你怎么贴?点击中键还是其他?

我尝试了每种方法:中键单击,右键单击并选择选项粘贴,Ctrl + Shift + V。当出现0〜和1〜字符时,我使用哪种粘贴方法都没有关系。

#1 楼

问题是您的终端处于方括号粘贴模式,但似乎没有正确支持它。该问题已在VTE中解决,但xfce4-terminal仍使用它的旧版本且未维护。

您可以尝试使用以下方法暂时关闭带括号的粘贴模式:

printf "\e[?2004l"


评论


如果您无法始终重现它,则可能是您正在运行某个启用了包围式粘贴模式的程序,然后该程序崩溃了,因此无法在退出前禁用它。

–雷米
15年4月16日在13:46

太好了,谢谢!我已经为这个问题苦苦挣扎了一年多。是否可以完全禁用此“包围式粘贴模式”?顺便说一句,谁实施了如此疯狂的事情? ;)

–亚当·罗曼尼克(Adam Romanek)
16 Apr 13在13:00



这取决于您的终端。这是一个非常有用的功能,因为它使应用程序知道是否键入或粘贴了某些内容。例如,一个IRC程序weechat使用它来询问您是否要发送多行粘贴,没有括号粘贴模式就无法发送多行粘贴,因为那样便无法知道用户是否键入了行或不。

–雷米
16年5月4日在10:42

如何找到哪个程序与方括号粘贴模式混淆?

–aviggiano
17年7月12日在16:49

对于基于Ubuntu的发行版,您可以尝试从launchpad.net/~adrozdoff/+archive/ubuntu/vte安装补丁版本的“ vte”软件包

–丹尼斯·巴哈列夫(Denis Bakharev)
17-10-21在21:22

#2 楼

我的问题是由于bash会话关闭得很糟糕。因此,在我的终端中运行命令reset立即解决了它。

评论


这对我有用。

– AFP_555
18年5月3日在22:54

它为我工作!

–tom
18年5月22日在1:29

使用终止符在Ubuntu 16.04上发生了。重置成功!

–user1270710
18年7月18日在18:58

我的终结者也在做同样的事情,也正在运行Ubuntu 16.04。在我的ssh连接上运行reset可以修复它。

– Marcello Grechi Lins
18-11-30在19:23



发生在Mac终端机中。这个解决了

–raghav710
20年8月5日在17:10

#3 楼

我遇到了同样的问题,它是在使用vi之后发生的。启用方括号粘贴模式


评论


那正是原因,谢谢!就我而言,它是在我升级到VIM 8时开始的

–rgerganov
18年1月25日在15:21

您能否解释一下t_BE =设置是什么,以及为什么它可以解决问题?

– Troropio
18年5月17日在9:30

#4 楼

当终端仿真器卡在方括号粘贴模式下时,会发生此行为。

通常在应用程序退出时不干净(崩溃或有故障)时发生。经常发生是旧版VTE中的一个错误(VTE是gnome-terminalxfce4-terminal等下的终端仿真小部件),它是由某些实用程序中的某些操作触发的,例如在Midnight Commander中切换面板。

要查看您正在运行的基于VTE的终端仿真器中是否已修复此错误,请执行以下操作:执行echo -ne '\e[>c',这将插入一些字符,就像您键入它们一样。如果中间数字是3602或更大,则不再显示上述旧的VTE错误。如果该数目小于该数目,则VTE仍然会受到影响,并且比应有的情况更经常卡在方括号粘贴模式中。对packages.ubuntu.com的依赖。 libvte-2.91-0很好。仅当该软件包的实际版本为0.36.2或更高版本时,libvte-2.90-9才是好的,而libvte9则是不好的。特别是,xfce4-terminal在Xenial中是越野车,在Zesty中已修复。

#5 楼

这可能并不直接适用于您的问题,但就我而言,我发现此症状很可能是由我的选择编辑'mcedit'(午夜指挥官)引起的,我在.bashrc文件中添加了以下函数: ',当我关闭以重置“托架粘贴模式”时,它将自动添加'printf“ \ e [?2004l”'
可以将相同的方法用于vi,vim,nano或任何其他行为异常的程序。