less 命令卡在向前滚动中

less 命令卡在向前滚动中

当将命令输出传输到 less 时,我将使用鼠标滚动到输出的底部,我会发现 less 被困在向前滚动中,阻止我向后滚动输出。这与按 的行为相同F。有没有办法从向前滚动中解锁更少?

再现:docker-compose up | less然后按F

答案1

我相信less进入此模式后实际上会说“等待数据...(中断中止)”,至少当管道的左侧生成数据的速度不够快时。

“中断”的意思是“按下Ctrl+C”。这会将 INT(中断)信号发送到less进程(它将信号发送到前台进程组中的所有进程,在您的情况下,包括 和lessdocker-compose

为了避免将中断信号发送到管道左侧的数据生成命令,您可以使该命令完全忽略该信号:

( trap '' INT && some-command ) | less

就你而言,

( trap '' INT && docker-compose up ) | less

相关内容