less(1)是否缺少lesskey功能?


8

终端文件分页器less(1)似乎缺少lesskey(1),并且无法重新绑定击键。文档声称它在那里,但是不起作用。我疯了还是苹果的版本没那么坏?

$ less -k ~/.less /etc/fstab
There is no -k option ("less --help" for help)
$ less --help | grep lesskey
  -k [file]  .  --lesskey-file=[file]
                  Use a lesskey file.
$ which lesskey less
/usr/bin/less
$ less --version | head -2
less 418
Copyright (C) 1984-2007 Mark Nudelman

我在跑狮子。Apple根本无法使用less(1)似乎很奇怪,它是一个如此古老且标准的Unix实用程序。(较少的内容可从MacOS上的源代码轻松编译,因此我现在使用的是自己的版本。)


与往常一样,请考虑在developer.apple.com/bugreporter上提交增强错误报告。 如果您没有开发人员帐户,则可以免费创建一个。
克里斯·佩奇

Answers:


11

Lion的构建less确实禁用了lesskey功能,这可以通过自定义的define.h看到,它是使用(line #define USERFILE 0)构建的。这并不意味着它已损坏,只是有人出于某种原因决定自定义构建并禁用此功能。可悲的是,他们忽略了更新手册页的原因,这就是为什么它仍在引用它。

如果您希望使用此功能,less则从源代码构建自己的东西./configure && make install(将其放入/usr/local)就可以了,并且您可能还希望在使用它时获得一个更新的版本


3
如果您brew install less实际上建议自制软件homebrew/dupes/less,请安装458版本并可以正常使用的软件包lesskey。比手工构建要少得多的工作。
史蒂文·卢

因此,我现在在High Sierra上遇到的问题是,我确实使用了自制的少用的,它工作正常,但man没有使用这一套。它使用的系统较少...不确定要怎么做。我可能会对其进行修改,以使较少的自制酿造物成为/usr/bin/less,但是听起来像是侵入性的。实际上:我什至无法做到,可能受SIP保护。
史蒂文·卢

@StevenLu man man说,您可以通过设置PAGERMANPAGER在您的环境中覆盖此设置。
Ingmar Hupp

是的,我已将其添加到我的shell配置中,并且可以正常工作。
史蒂文·卢
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.