33

我有一个有很多输出的程序。完成后,我经常想滚动回运行的开头,以便在那里查看一些内容。由于输出很长,我看到自己无休止地使用 PageUp 滚动并试图将右侧的滚动条拖到可能开始的位置。过了一段时间,这开始变得很烦人,所以我想知道:

有没有办法让终端轻松滚动回给出最后一个命令的部分?

4

10 回答 10

28

我刚刚在 OSX 的终端中找到了这个:

编辑 > 导航 > 跳转到上一个标记:cmd + UP。

于 2017-03-15T11:36:31.733 回答
5

iTerm2在macOS中使用,我想出了一个方法。首先,您应该确保检查Unlimited scrollbackiTerm2 的首选项。 在此处输入图像描述

在终端中运行命令并获得很长的输出后。

Cmd+ F(在 Windows 中可能是ctrl+ F),然后您可以在终端中搜索,如下所示:

在此处输入图像描述

最后,只需搜索您的用户名并按Enter,通常会跳转到最后一个命令:

在此处输入图像描述

于 2018-07-24T16:17:33.697 回答
4

在 LINUX 中实现它

在提示符中添加一个标识符(例如在 .bashrc 的底部添加):

promptCount=0
PROMPT_COMMAND=promptCount=$((promptCount+1))
PS1="/\$promptCount\\ $PS1"

现在使用终端的搜索功能,也许是 ++ Ctrl,作为你想要的提示行。ShiftF

让它更方便:

安装xdotool(命令行 X11 自动化工具)

创建一个函数,该函数将按下您在N通过搜索功能查找提示行时按下的确切键(添加到 .bashrc 的底部):

gp () { xdotool key ctrl+shift+F; xdotool type /$1\\ ; xdotool key KP_Enter;sleep 0,2; xdotool key Alt+F4; }

(至少这些是我在 Manjaro Xfce 中按下的确切键)

现在:

在此处输入图像描述

gif 中没有显示一个小框架,其中出现了小搜索窗口,N写了标识符,Enter按下键,然后关闭窗口。您可以尝试更快地更改为 sleep 命令提供的参数的值。就我而言,它运行良好,直到 0,11 左右。

于 2020-09-29T20:48:45.343 回答
3

如果您使用的是 GNOME Terminal 之类的终端,则可以向后搜索。例如,Ctrl++然后输入文字命令或正则表达式以匹配它(并确保相应地设置“匹配为正则表达式”)Shiftf

一种解决方法是将输出发送到寻呼机,例如less,您可以在其中导航和检查输出,然后返回命令行,就好像没有打印任何内容一样。

于 2013-06-20T11:43:30.493 回答
2

如果需要一些时间才能打印大部分输出(例如调用 make 时),一个简单的 Hack 可以工作:

执行命令后立即向上滚动一点点(例如,一行)。由于您不再处于底部,这可以防止大多数终端自动向下滚动。一旦您认为输出已打印(滚动条位置和感觉是很好的指标),您就可以向下滚动。只是避免在打印时滚动到最后一行。

于 2019-07-09T09:06:12.277 回答
2

less例如,我将输出通过管道传输到command | less,因为它有大量用于快速导航的有用键,而且它支持搜索。您还可以在输出的最开始自动开始。

以下是一些用于快速导航的有用命令:

  • fSPACE向前移动一页,b向后移动一页。一页是指值得输出的终端窗口大小。
  • g去一开始,G去结束,[n]g跳到第一n行。例如5g将跳转到第 5 行。
  • /pattern搜索一个术语,然后导航到n下一个和N上一个出现。支持正则表达式。
  • q退出。

有关更多信息,请执行man less。手册页也less默认使用,因此上述所有工作。

于 2019-07-16T16:17:03.370 回答
1

在带有 iTerm2 的 MacOS 上:

您必须安装 Shell 集成(iTerm -> 安装 Shell 集成),然后打开一个新选项卡。

Cmd+ Shift+Up跳到最后一个标记。也可以在编辑 -> 标记和注释 -> 下一个标记下找到。

于 2022-01-13T11:09:08.560 回答
0

简单地将输出重定向到文件,从而保持终端窗口“干净”不是更容易吗?

就像是:command >> output_file

于 2013-06-20T11:46:24.450 回答
0

如果您与 合作screen,我认为有办法。

  1. screen使用命令启动会话
  2. 执行您的命令(在屏幕上输出一些数据)
  3. 键入Ctrl+a后跟[. 屏幕进入复印模式。
  4. 您可以使用向后搜索命令提示符?(就像 vi 一样)

screen有很多优点。检查http://kb.iu.edu/data/acuy.html

于 2013-06-20T13:57:43.903 回答
0

我们可以在运行命令之前清除终端,使用Ctrl- L

然后在运行命令后,一直返回Ctrl- Home

于 2020-04-06T11:36:35.613 回答