我有一个程序,其输出非常大。一旦完成后,我经常希望能够滚动回到运行的开头,这样我就可以查看那里的某些内容。然而,由于输出太长了,我发现自己不停地使用PageUp键进行滚动,并试图拖动右侧的滚动条到可能开始的位置。经过一段时间,这开始变得非常烦人,所以我想知道:
是否有一种简便的方法让终端滚动回到最后一条命令所在的位置?
我有一个程序,其输出非常大。一旦完成后,我经常希望能够滚动回到运行的开头,这样我就可以查看那里的某些内容。然而,由于输出太长了,我发现自己不停地使用PageUp键进行滚动,并试图拖动右侧的滚动条到可能开始的位置。经过一段时间,这开始变得非常烦人,所以我想知道:
是否有一种简便的方法让终端滚动回到最后一条命令所在的位置?
我刚在OSX的终端中找到了这个:
编辑 > 导航 > 跳转至上一个标记:cmd + UP。
OSC 133
提示符+滚动集成方式非常相似。 - TrinitronX在Linux中实现IT技术
使其更加方便:Add to your prompt an identifier (for example add in the bottom of your .bashrc):
promptCount=0 PROMPT_COMMAND=promptCount=$((promptCount+1)) PS1="/\$promptCount\\ $PS1"
Now use the search funcionality of the terminal, perhaps Ctrl + Shift + F, for the prompt line you wish.
Install
xdotool
(command-line X11 automation tool)Create a function that will press the exact keys that you would press when finding the
N
prompt line through the searching functionality (add in the bottom of your .bashrc):gp () { xdotool key ctrl+shift+F; xdotool type /$1\\ ; xdotool key KP_Enter;sleep 0,2; xdotool key Alt+F4; }
(At least these are the exact keys that I would press to do it in Manjaro Xfce)
现在:
GIF 图片中没有显示一个小框架,它用于显示搜索窗口,N
的标识符被写入,按下快捷键 Enter ,然后关闭窗口。您可以尝试通过更改传递给 sleep 命令的参数值来加速这个过程。 在我的情况下,直到 0.11 左右,它都能正常工作。
less
来管道输出,例如command | less
,因为它有许多有用的快速导航键,并支持搜索。你还可以自动从输出的开头开始。f
或SPACE
向前翻一页,b
向后翻一页。一页指终端窗口大小的输出。g
跳到开头,G
跳到结尾,[n]g
跳到第 n
行。例如,5g
将跳转到第5行。/pattern
搜索术语,然后使用 n
查找下一个匹配项,使用N
查找上一个匹配项。支持 RegExp。q
退出。man less
。Man页面默认也使用less
,因此上述所有内容都适用。less
这样的分页器中,您可以浏览和检查输出,然后返回到命令行,就好像没有打印任何内容一样。less
命令很混乱,所以我现在将使用 Ctrl Shift f 并搜索我的用户名。 - bruno直接将输出重定向到一个文件,这样可以使你的终端窗口保持“干净”,不是更容易吗?
类似这样:command >> 输出文件
command > /dev/null 2>&1
。这可以将输出重定向到 /dev/null
的虚无之中,并将错误重定向到标准输出流。 - zaSmilingIdiot如果你使用screen
,我认为有一种方法。
screen
命令启动会话Ctrl+a
,然后是[
。屏幕进入复制模式。此外,screen
具有许多优点。请查看http://kb.iu.edu/data/acuy.html