less 能显示文本文件的查看比例吗?

less 能显示文本文件的查看比例吗?

正如标题所暗示的,当我浏览文本文件时,我想知道当前浏览的整个文本文件的比例。

我知道使用 -N 选项,我们可以打开行号,但如何让 less 显示整个文本文件的行号?

谢谢。

答案1

如果你使用 less 打开一个文件,那么按 Ctrl-g 将显示当前行号、总行数和百分比以及如下所示的内容:

行 51-100/185 字节 3228/5886 54% (按 RETURN 键)

答案2

你是指像使用-M开关那样吗?

答案3

只是对以前的答案进行了一点点扩展。命令行:

less -M +Gg

执行以下操作:

-M在提示符下显示文件中的当前位置 +G运行命令G(转到文件末尾)和g(返回到文件开头)

如果less从 stdin 读取(当man显示手册页时会发生这种情况),它无法提前知道文件中的总行数,因此无法正确计算其位置。因此,+Gg有必要less获取总行数,从而计算出当前位置的百分比。

我发现设置这些变量很有用~/.bashrc

export LESS+='-M'
export MANPAGER='less +Gg'

LESS将确保所有调用都less将在提示符上显示当前位置,并MANPAGER确保less能够获取手册页中的总行数,less然后将显示在提示符上。这似乎更合理不是包含+Gg在内,LESS以防止less尝试转到可能很大的管道输入的末尾。如果有必要,可以随时运行命令Gg手动执行。

答案4

或者你可以使用moar,它可以完成你想要的操作: https://github.com/walles/moar

moar设计得非常简洁,易于从 切换less

moar还默认带有语法高亮输入、良好的搜索、自动换行和许多其他所缺少的东西less

显示行号的屏幕截图

免责声明:我写了它,moar所以我当然喜欢它!

相关内容