Farbige Manpages

danlei

Well-Known Member
Eine kleine Anleitung für farbige Manpages unter FreeBSD

Alle Angaben beziehen sich auf FreeBSD 6.2, Vim 7 und eine sh-kompatible Shell, lassen sich aber problemlos auf andere Systeme übertragen. # meint Root, $ einen normalen User.

Unter /usr/local/share/vim/vim70/macros findet sich less.sh. Dieses Skript erlaubt es, Vim als Pager zu nutzen. Ich empfehle, sich dieses Skript z.B. als vless nach /usr/local/bin zu kopieren und ausführbar zu machen. (Hat den Vorteil, dass man vless auch in anderen Situationen als Pager mit Syntax-Highlighting nutzen kann)

Code:
# cp /usr/local/share/vim/vim70/macros/less.sh /usr/local/bin/vless
# chmod 0755 /usr/local/bin/vless

In /usr/local/share/vim/vim70/scripts.vim muss nun noch eine Regel erstellt werden, sodass vim Manpages als solche erkennt und entsprechendes Highlighting verwendet. Einfach folgenden Code anhängen:

Code:
" manpages
if did_filetype() " filetype already set..
elseif getline(1) =~ '^\(.\+\)(\d\{1}).\+\1(\d\{1})$'
  set filetype=man
endif

Fast schon geschafft! Jetzt muss dem System nur noch mitgeteilt werden, vless als Pager zu nutzen. Eine Möglichkeit wäre:

Code:
$ export PAGER="col -b | /usr/local/bin/vless"

Dies hat jedoch den Nachteil, dass alle Programme "col -b | /usr/local/bin/vless" als Pager nutzen. col -b ist nötig um Manpages richtig anzuzeigen, kann jedoch in anderen Situationen zu Problemen führen (z.B. ri).

Deshalb empfehle ich, einfach ein entsprechendes Alias zu nutzen:

Code:
$ alias man="PAGER='col -b | /usr/local/bin/vless' man"

Nun noch den Entsprechenden Eintrag in die .zshrc oder was auch immer und schon hat man ein farbiges man!

Zusätzlich kann vless auch, analog zu less, in Pipes genutzt werden!
 

Attachments

  • man.webp
    man.webp
    52.1 KB · Views: 963
Last edited:
Gern geschehen!

Ich finde auch, dass man sich so besser in den Manpages orientieren kann. Allerdings könnte man die Regeln fürs Highlighting verbessern. Es gibt Probleme mit Argumenten, wenn sie Sonderzeichen enthalten (alles was nicht mit - oder -- beginnt und blau eingefärbt werden sollte). Davon abgesehen funktioniert aber alles wunderbar und ich hab mich schon so sehr daran gewöhnt, dass ich bei 'normalen' Manpages echt was vermisse. ;)

Wenn ich mal Zeit habe, schau ich mir die /usr/local/share/vim/vim70/syntax/man.vim mal genauer an.
 
Kannte ich noch garnicht!

Habs mal ausprobiert und finde auf den ersten Blick die Farben nicht so schön (zu grell) wie bei vim und was mich extrem stört ist, dass die Vi-Keys nicht funktionieren.

Davon abgesehen ist das Highlighting einwandfrei. Ich schau mir mal an, ob man nicht irgendwie die Tastaturbelegung ändern kann.

EDIT:
Scheint kein Problem zu sein die Tastaturbelegung zu ändern. Fürs erste bleib ich glaube ich beim vim, aber es ist auf jeden Fall eine Alternative!
 
Kannte ich noch garnicht!

Habs mal ausprobiert und finde auf den ersten Blick die Farben nicht so schön (zu grell) wie bei vim und was mich extrem stört ist, dass die Vi-Keys nicht funktionieren.

Davon abgesehen ist das Highlighting einwandfrei. Ich schau mir mal an, ob man nicht irgendwie die Tastaturbelegung ändern kann.

EDIT:
Scheint kein Problem zu sein die Tastaturbelegung zu ändern. Fürs erste bleib ich glaube ich beim vim, aber es ist auf jeden Fall eine Alternative!

Moin,

kannst Du das Ganze auch nochmal im Wiki verewigen ('Farbiges man' - analog zu 'Farbiges ls (gnuls)' usw)? Kann es auch machen, wenn Du willst.

Gruss, Elwood
 
Bei NetBSD braucht man nur "most" installieren und den als PAGER konfiguiren.
Für ksh reicht es ein Eintrag in die .profile.

Code:
export PAGER=most

danach hat man farbige manpages.
 
@Elwood
Ich habe noch keinen Wiki-Account und auch keinen Plan von Wikis allgemein. Ich kanns irgendwann mal reinstellen, das würde aber noch ein Bisschen dauern. Natürlich hätte ich auch nichts dagegen, wenn Du das übernehmen würdest.

@menuhin
Mir persönlich gefällts besser als most (siehe #4 & #5), die Frage ist halt, ob andere das auch so sehen (ist schließlich mehr Aufwand).

Wenn man einen Wiki-Artikel dazu machen würde, sollten auf jeden Fall beide Möglichkeiten erwähnt werden. Ein Vorteil von vless ist außerdem, dass man in vielen Sprachen einen Pager mit gutem Syntax-Highlighting hat -- nicht nur farbige Manpages.
 
Back
Top