我知道我可以少用=
. 有没有办法让它在我滚动文件时不断显示和更新?当我使用man
它时实际上是这样完成的,但我不知道它是如何配置的。
less -F
如果内容适合一个屏幕,则关闭较少。但是,如果我使用 termcap 初始化,即我不使用-X
并且文件适合屏幕,则不会打印任何内容,因为 less 显示内容,注意到它们适合屏幕,在取消初始化期间退出并清除屏幕。
这可以证明如下(假设为空LESS
变量):
$ echo foo > new_file
$ cat new_file
foo
$ less -X -F new_file
foo
$ less -F new_file
$
Run Code Online (Sandbox Code Playgroud)
我喜欢 termcap 功能,它允许使用鼠标滚轮进行滚动,所以我绝对不想使用-X
. 如果内容适合屏幕(并且基本上表现得像cat
),还有没有办法减少退出?
现在的 Linux 发行版有一个默认LESSOPEN
设置/usr/bin/lesspipe
,允许人们轻松检查例如压缩文件或 PDF 文件。
现在我想看看是否可以将语法高亮添加到 less。这可以通过source-highlight轻松实现。我用过LESSOPEN="| /usr/bin/source-highlight -i %s -q -f esc"
,效果很好。
但现在问题变成了:如何获得 lesspipe 和 source-highlight 的行为?简单地一个接一个地附加是行不通的:
$ export LESSOPEN="| /usr/bin/lesspipe %s | /usr/bin/source-highlight -i %s -q -f esc"
$ less foo
Invalid LESSOPEN variable
Run Code Online (Sandbox Code Playgroud)
这也没有意义,所以这并不奇怪。
是否可以在不编写复杂脚本的情况下进行设置?最好的情况是使用链接,即也为压缩文件提供语法高亮。