在 21.04 版 Gnome 终端中粘贴的文本始终会突出显示

在 21.04 版 Gnome 终端中粘贴的文本始终会突出显示

在 Ubuntu 中21.04,当文本粘贴到 Gnome 终端时,文本是总是突出显示。

  • 看起来好像文本是已选择,但它只是突出显示
  • 如果右键单击此突出显示的文本,“复制”选项实际上已被禁用。
  • 单击终端或单击突出显示的文本不会取消突出显示文本。
  • 取消突出显示粘贴的文本的唯一方法是键入一个键。
  • 如果您尝试通过单击并拖动鼠标指针来选择突出显示的文本,则文本颜色实际上会反转,并且文本看起来好像未被选中,但实际上已被选中。 在此处输入图片描述

这种令人困惑的行为在 Ubuntu 中不存在20.04

  • 在 Ubuntu 20.04 中,当将文本粘贴到 Gnome 终端时,文本不会突出显示。
  • 然后,选择文本并将其突出显示,正如预期的那样。 在此处输入图片描述

如何恢复 Ubuntu 21.04 中 Gnome 终端的这种令人困惑的行为,使其行为类似于 Ubuntu 20.04 中的 Gnome 终端?

答案1

升级到 21.04 后我也注意到了这种行为。不要认为这是一个错误:这是 Bash 5.1 中的新“默认设置”。

首次检查:

$ bind -v | grep bracketed
set enable-bracketed-paste on

然后,尝试禁用(针对当前会话):

$ bind 'set enable-bracketed-paste off'
$ bind -v | grep bracketed
set enable-bracketed-paste off

然后在终端会话中重试您的发现。这也在以下内容中进行了解释:https://stackoverflow.com/questions/35611134/bash-bracketed-paste-is-it-supported

我建议使用 Bash 的这个新默认设置,因为它可以防止意外单击鼠标中键或从剪贴板复制/粘贴多行(可能包含恶意命令)。

答案2

这是 Bash 的一个新“功能”。在我看来,应该尽快恢复到以前的默认设置。

我在全新安装的 21.04 版默认 MATE 终端中也看到了这个错误,

截屏直播

因此我已将其报告给 launchpad错误 1926256。请将您自己标记为受到此错误的影响,并添加关于 GNOME 终端用例的评论。

答案3

根据建议这里,您可以将 Gnome 终端突出显示颜色更改为白色以外的颜色,这样它就不会与 bash 的“括号粘贴”功能冲突。

  1. 单击 Gnome 终端中的标题栏菜单按钮

    点击“偏好设置”

    在左侧窗格中的“个人资料”下,选择您的个人资料(即“未命名”)

    点击“颜色”选项卡

  2. 勾选“突出显示颜色”

  3. 单击背景颜色框(第二个框)

  4. 输入要使用的突出显示颜色的十六进制值。

    您可能想从中选择一种颜色官方 Ubuntu 调色板

    • 茄子...#924D8B
    • Ubuntu 橙色...#E95420
    • 浅橙色...#F29879
  5. 单击Select按钮应用您的更改。

进行此更改后:

  • 根据 bash 的更改,“括号内粘贴”的文本将以白色突出显示。

    (参见屏幕截图中的“此内容已粘贴”文字)。

  • 您使用 gnome-terminal 选择的文本将是您在上面的第 4 步中选择的颜色。

    (参见屏幕截图中的“此已被选择”文字)。

更改 Gnome 终端突出显示背景颜色

答案4

要全局摆脱这个问题,请set enable-bracketed-paste off在末尾添加/etc/inputrc

.inputrc在主目录中创建文件可能会导致一些奇怪的行为,例如您的Home按钮在终端中停止工作。

相关内容