A plugin for the fish-shell.
This plugin installs a fish function wrapper around man
that colorizes styled text (specifically underlined, bold, and standout) to make browsing man pages easier and more enjoyable.
The colors are added by setting environment variables that control how less
, man
's default pager, processes styled text. Why can't we just set those environment variables in our shell configuration instead of using this plugin? Well, if we simply set environment variables, they contain escape sequences that will "overflow" into the output of other commands reading environment variables. See this Stackoverflow question for an explanation.
Credits: This idea was first inspired by Arch Linux wiki.
Note: decors/fish-colored-man is a very similar plugin. Differences:
colored_man_pages.fish
includes a wrapper to also colorize the output of utilities that rely on less, such asgit help
fish-colored-man
allows configuring colors
With fisher
$ fisher install patrickf1/colored_man_pages.fish
Just invoke man
as usual, but without changing the pager, to get colored output. For example
$ man less
To execute vanilla man
without colored output, we can bypass the wrapper using command
. For example
$ command man less
To colorize the output of utilities that rely on less, use the cless
(short for colored less) wrapper to configure less before executing the utility.
For example
$ cless git help merge
$ cless git help log