为什么“less”有时会忘记自己的历史

为什么“less”有时会忘记自己的历史

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

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

它正在写信给$LESSHISTSIZE.我在 Ubuntu 和 Fedora 上的历史文件中都得到了相同的文本。下面我从一个空的历史文件开始,然后执行cal | less。我在 中搜索了“xxx” 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
$ 

也许是因为 Fedora 上的版本太旧了。

$ less --version
less 394
Copyright (C) 1984-2005 Mark Nudelman

答案1

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 年初)。确切地什么时候切换是否完成尚不清楚,因为存储库提交是未经验证

相关内容