less - 如何使匹配线不是屏幕上的顶线?

less - 如何使匹配线不是屏幕上的顶线?

我经常这样做

$ man someprogram

检查某些程序的手册。通常我也想在那里搜索一些东西,我只需点击/并写下我想搜索的任何内容。

不幸的是,无论匹配是什么,它都会被带到屏幕的顶行,因此大多数时候我需要手动向上滚动几次才能真正看到该匹配行的一些上下文。

如何设置less,使其在顶线和匹配线之间留下一些偏移线?

答案1

你想要这个-j选择。见下手册页中的“选项”

-jn或者--jump-target=n

指定屏幕上“目标”线所在的线。目标行是任何命令指定的行,用于搜索模式、跳转到行号、跳转到文件百分比或跳转到标记。

屏幕行可以用数字指定:屏幕上的第一行是 1,下一行是 2,依此类推。该数字可以为负数,以指定相对于屏幕底部的一条线:屏幕上的底线是 -1,倒数第二条线是 -2,依此类推。

或者,屏幕线可以指定为屏幕高度的分数,以小数点开始:0.5 位于屏幕中间,0.3 位于第一行下方的十分之三,依此类推。如果将行指定为分数,则在调整终端窗口大小时将重新计算实际行号,以便目标行保持在屏幕高度的指定分数处。

如果使用任何形式的 -j 选项,则重复的向前搜索(使用“n”或“N”调用)从紧接目标行之后的行开始,并且重复的向后搜索从目标行开始,除非由 -a 更改或-A。例如,如果使用“-j4”,则目标行是屏幕上的第四行,因此向前搜索从屏幕上的第五行开始。然而,非重复搜索(用“/”或“?”调用)总是分别从当前屏幕的开头或结尾开始。

lesskey注意:您可以使用、使用类似环境变量或仅在 less 中LESS=-j5 man someprogram键入while 来配置该选项。-j5

相关内容