Fehlt weniger (1) die Funktion für weniger Schlüssel?

8

less (1), der Terminal-Datei-Pager, scheint lesskey (1) und die Möglichkeit, die Tastenanschläge in weniger zu binden, zu fehlen. Die Dokumente behaupten, dass es da ist, aber es funktioniert nicht. Bin ich verrückt oder ist Apples Version weniger kaputt?

$ 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

Ich leite Lion. Es scheint seltsam, dass Apple überhaupt mit weniger (1) herumspielen würde, es ist so ein altes und standardmäßiges Unix-Dienstprogramm. (Weniger kompilierbar aus Quellen unter MacOS, daher verwende ich jetzt meine eigene Version.)

Nelson
quelle
Wie immer sollten Sie einen Erweiterungsfehlerbericht unter developer.apple.com/bugreporter einreichen. Wenn Sie kein Entwicklerkonto haben, können Sie kostenlos ein Konto erstellen.
Chris Seite

Antworten:

11

Der Lion-Build von wird lessin der Tat mit deaktivierter Lesskey-Funktion geliefert, wie aus den benutzerdefinierten Definitionen hervorgeht. H wird mit (line #define USERFILE 0) erstellt. Dies bedeutet nicht, dass es kaputt ist , nur dass jemand beschlossen hat, den Build anzupassen und diese Funktion aus irgendeinem Grund zu deaktivieren. Leider haben sie es versäumt, die Manpage zu aktualisieren, weshalb sie immer noch darauf verweist.

Wenn Sie diese Funktion möchten, müssen Sie lessnur eine eigene aus der Quelle erstellen ./configure && make install(in die sie sich einfügt /usr/local), und Sie möchten möglicherweise auch eine neuere Version erhalten, während Sie gerade dabei sind.

Ingmar Hupp
quelle
3
Homebrew, wenn Sie brew install lesstatsächlich das Paket empfehlen, homebrew/dupes/lessdas Version 458 installiert und funktioniert lesskey. Viel weniger Arbeit als manuelles Bauen.
Steven Lu
Das Problem, das ich jetzt in High Sierra habe, ist, dass ich weniger Homebrews benutze, was richtig funktioniert, aber mandieses nicht verwendet. Es verwendet weniger System ... Ich bin mir nicht sicher, was ich tun soll. Ich könnte es so modifizieren, dass das Homebrew weniger als verknüpft wird /usr/bin/less, aber es klingt invasiv. Eigentlich: Ich kann es nicht einmal tun, wahrscheinlich durch SIP geschützt.
Steven Lu
@StevenLu man mansagt, dass Sie dies durch Einstellen PAGERoder MANPAGERin Ihrer Umgebung überschreiben können.
Ingmar Hupp
Ja, ich habe das zu meiner Shell-Konfiguration hinzugefügt und es funktioniert.
Steven Lu