跳转到最后一个命令输出的开头

Apo*_*ica 9 command-line gnome-terminal 16.04

这个问题我已经思考了大约十年,但一直没有找到答案。不过,为了具体说明,我会根据我当前的环境来询问。

在 Ubuntu 16.04 上,使用 gnome 终端,有没有办法跳转到您运行的最后一个命令的输出的开头或包含最后一个命令本身的行? 理想情况下,我想将此操作分配给一个方便的热键。

明显的用例:任何时候你编译一些东西并得到的不仅仅是一个错误屏幕。

这个很简单,但我还没有找到方法。一些可悲的替代方案:

  • 将输出重定向到文件,然后在编辑器中打开该文件。问题:增加开发人员的时间/开销/烦恼;在文件中打开时可能会丢失 bash 格式,从而使输出难以阅读;总体而言,通常会抵消仅向上滚动所节省的时间。
  • 管道到less. 问题:与上面相同,而且它似乎没有从输出的顶部开始,也没有让我正确滚动。
  • 管道到grep -i error. 问题:可能不会显示错误消息的相关行(需要连续行),任何 grep 解决方案通常都不稳健,并且再次增加开销。
  • 在控制台中向上搜索username@computername? 问题:不知道在 gnome 终端中是否可行(其他终端可以做到),不健壮(虽然相当不错),可能打字速度很慢。

这些年来人们真的一直在向上滚动查找错误消息吗?我觉得我一定错过了什么。

编辑:迄今为止最好的替代方案:

  • reset在命令之前运行,然后在执行命令后使用Ctrl++跳转到终端顶部,如本答案中给出的。ShiftHome
  • 根据此答案,选择支持搜索的不同终端。

Fab*_*bby 4

嗯,你可以用标准做到这一点gnome-terminal:

\n\n

搜索动画

\n\n

我唯一做的就是按Ctrl+ Shift+F开始搜索,标准Backwards已经......

\n\n

只需确保您有足够的滚动行可通过更改回滚限制来回滚:
\n Edit\xe2\x86\x92 Profile Preferences\xe2\x86\x92 Scrolling
\n8192 只需要几 KB 的 RAM,因此请输入适合您任何数字!

\n\n

gnome 终端设置

\n\n

另外:对于短暂的上下跳跃,即使在编译时也不要忘记Shift+PgUpShift+ 。(不,它不会暂停编译:只需在您的视图之外添加行...)PgDn

\n


egm*_*ont 0

基于 VTE 的终端,例如 GNOME Terminal、GNOME Con​​sole、Xfce4 Terminal、Terminator、Tilix、Guake 等,将在 2024 年 3 月发布的 GNOME 46 (VTE 0.76) 中支持此功能。

热键暂时是硬编码的,它是Ctrl+ Shift+LeftCtrl+ Shift+ Right

在幕后,VTE 使用准标准 OSC 133 shell 集成转义序列来查看提示符所在的位置,就像其他几个终端已经做的那样。