是否可以设置 gnome 终端,以便在没有提示的情况下复制选择?

是否可以设置 gnome 终端,以便在没有提示的情况下复制选择?

我经常想从终端复制一组没有输出的命令;比如说这样的块:

prompt$ less file1.txt
prompt$ less file2.txt
prompt$ dhex file2.txt
prompt$ less file3.txt

现在,如果我用鼠标选择这段文本,然后用 Ctrl-Shift-C 复制它;然后当我粘贴到文本文件中时,提示就出现了(正如预期的那样)——然后我不得不浪费时间删除提示:)

所以我很纳闷 - gnome-terminal 是否有一个设置,这样当我进行同样的复制时,我最终只会得到命令 - 没有提示?这就是我最终粘贴时想要的:

less file1.txt
less file2.txt
dhex file2.txt
less file3.txt

我对一个解决方案感兴趣,它将允许我将其放入剪贴板中,只需使用鼠标选择和 Ctrl-Shift-C 即可;我知道我可以这样做history X,但随后我必须grep这样做 - 并想出一个合适的 grep 表达式(如果我用记录终端会话的打字稿,也会出现同样的问题script)。

有没有什么工具可以实现这一点?如果没有gnome-terminal,有没有其他可以在 Gnome 下使用的终端可以提供这样的功能?

答案1

在 Gnome 终端中,您可以使用鼠标 + CTRL 键选择一段文本。这样,您就可以复制所有控制台输出而无需提示。例如:

在此处输入图片描述

答案2

假设你使用 bash 作为你的 shell,你可能只需执行以下操作:

history -a ; tail -5 $HISTFILE

用您想要返回的任意数量的命令替换 5。这样您应该会得到一个干净的列表,可以轻松复制/粘贴。不是确切地您似乎正在寻找这种方法,但它可能适合。

答案3

好吧,这个问题让我很烦恼,所以最后我编写了一个非常接近的解决方案:Glipper 剪贴板管理器的过滤插件,它允许在过滤函数中进行正则表达式处理,可以在复制操作时应用于剪贴板内容;在这里发布:

...以下是屏幕截图:

glipper 过滤器

但是,由于我只想偶尔使用此功能,切换过滤可能不是最好的主意(因为您必须切换到 ON、复制/粘贴,然后切换到 OFF) - 因此当单击过滤器子菜单项时,插件会绕过正常操作,如果CtrlAltc被按住;所以我执行一次性提示过滤的“最小”操作是这样的:

  • 在终端中选择一段文本(包括提示)
  • Ctrl+ Alt+ c(默认快捷键)调出 Glipper 菜单窗口
  • Ctrl按住或中的任意一个(或全部)Alt按钮c
    • 将鼠标悬停在过滤菜单项上
    • 将鼠标悬停在所需的过滤器(子)菜单项上并单击(例如TermCmdLog
  • Glipper 菜单消失 - 按住的键现在可以释放
  • 移动指针并单击以聚焦文本编辑器
  • 粘贴 - 粘贴的内容通过单击的过滤器进行修改(例如,TermCmdLog输入的提示被删除,非提示行被注释)

最后,我还是希望终端本身有一个用于过滤输出的键盘和弦(例如,按下Ctrl+ Shift+ a,然后释放a,然后在按住其他键的同时按下c) - 但这对于单个过滤器来说就可以了;如果您想在运行时从多个过滤器中选择一个,那么又有一个需要另一个操作来做选择的问题;如果通过菜单项的 GUI 窗口解决了这个问题 - 那么我想这个插件也一样好。甚至更好的是,它适用于 Gnome 桌面下的任何 GUI 文本(可复制)源 - 而不仅仅是终端。

不幸的是,它是为 Gnome/Gtk 2 / Python 2.7 开发的,所以已经被弃用了;不过,希望它能够对其他人有用(直到我听到更好的解决方案 - 希望在这个帖子中:)),
干杯!

答案4

如果您使用 tmux 终端多路复用器,您可以轻松地完成此操作,甚至更多!

Noam Manos 已经在另一个答案中指出 Gnome Terminal 允许使用 Ctrl + 鼠标单击并拖动进行块复制。我只是想指出另一种更强大的替代方案。tmux 支持将您的终端置于“复制模式”,并允许您进行块复制等等——它甚至支持多个粘贴缓冲区,您可以复制并在以后使用。

我在 .tmux.conf 文件中使用以下几行来使用 vi 键绑定进行块复制:

bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle 

学习设置和使用 tmux 确实需要花费一些精力,但它是值得的,而且我对此很满意。

相关内容