为什么“少”有时会忘记它的历史

Joh*_*udd 5 less command-history

我设置并导出$LESSHISTFILE$LESSHISTSIZE但是如果我在一个less会话中执行搜索,关闭,重新打开它并尝试重复我的上次搜索,我得到“没有以前的正则表达式(按 RETURN)”。

它在 Ubuntu 14.04 中按预期工作,但在 Fedora 版本 7 中不工作。有什么建议吗?

它正在写信给$LESSHISTSIZE. 我在 Ubuntu 和 Fedora 上都将相同的文本写入历史文件。下面我从一个空的历史文件开始,然后执行cal | less. 我在less. 但是当我退出并重新运行该less命令时,如果尝试仅使用该/命令重复搜索,它会给我错误消息。

$ cal | less
$ ls -l  $LESSHISTFILE
-rw------- 1 cs cs 40 Aug  4 14:23 .lesshist
$ cat  $LESSHISTFILE
.less-history-file:
.search
"xxx
.shell
$ 
Run Code Online (Sandbox Code Playgroud)

可能是因为 Fedora 上的版本太旧了。

$ less --version
less 394
Copyright (C) 1984-2005 Mark Nudelman
Run Code Online (Sandbox Code Playgroud)

Tho*_*key 3

Ubuntu 14.04 的数量少于 458 个,Fedora 7 的数量少于 394 个。NEWS可以查看这些版本之间的文件:

            “较少”版本 394 和 406 之间的主要变化

    * %(百分比)命令允许数字中的小数点。

    * -j 选项允许使用小数点(屏幕高度的分数)。

    * 使 n 命令在第一次搜索时从历史文件中获取先前的模式。

为此,你必须查看来源(我正在查看 less 451 中的文件),因为在线历史记录不会回溯那么远。您可以从ftp://ftp.gnu.org/gnu/less/获取旧版本

自从 2016 年回答这个问题以来,less 的 RCS 已导出到 git这里,显然是在2017 年中期,人们可以更准确地指出这一变化(2007 年初)。由于存储库提交未经验证,因此具体何时完成切换尚不清楚