正如标题所暗示的,当我浏览文本文件时,我想知道当前浏览的整个文本文件的比例。
我知道使用 -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
尝试转到可能很大的管道输入的末尾。如果有必要,可以随时运行命令G
并g
手动执行。
答案4
或者你可以使用moar
,它可以完成你想要的操作:
https://github.com/walles/moar
moar
设计得非常简洁,易于从 切换less
。
moar
还默认带有语法高亮输入、良好的搜索、自动换行和许多其他所缺少的东西less
。
免责声明:我写了它,moar
所以我当然喜欢它!