似乎有一种方法可以让手册页以彩色显示(请参阅这里。它涉及设置与 less 相关的环境变量并将这些定义添加到.bashrc
。我尝试在 fish shell 中执行相同操作config.fish
,但没有得到彩色输出。
如何在 fish shell 中获取彩色手册页?
答案1
如果您希望仅在查看手册页时添加这些颜色,而不是在 中查看的所有内容中添加这些颜色less
,则应该在 的包装函数中设置这些变量,而man
不是将它们放在 中config.fish
。
整个过程是在 创建一个新文件~/.config/fish/functions/man.fish
,并在其中定义一个man
设置必要环境变量的函数,然后调用原始man
using command
,并使用 传入参数$argv
。
这是我的包装函数版本:
~/.config/fish/functions/man.fish
function man --description "wrap the 'man' manual page opener to use color in formatting"
# based on this group of settings and explanation for them:
# http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
# converted to Fish shell syntax thanks to this page:
# http://askubuntu.com/questions/522599/how-to-get-color-man-pages-under-fish-shell/650192
# start of bold:
set -x LESS_TERMCAP_md (set_color --bold red)
# end of all formatting:
set -x LESS_TERMCAP_me (set_color normal)
# start of standout (inverted colors):
#set -x LESS_TERMCAP_so (set_color --reverse)
# end of standout (inverted colors):
#set -x LESS_TERMCAP_se (set_color normal)
# (no change – I like the default)
# start of underline:
#set -x LESS_TERMCAP_us (set_color --underline)
# end of underline:
#set -x LESS_TERMCAP_ue (set_color normal)
# (no change – I like the default)
command man $argv
end
答案2
您可以通过以下命令设置配置,
set -x LESS_TERMCAP_mb (printf "\033[01;31m")
set -x LESS_TERMCAP_md (printf "\033[01;31m")
set -x LESS_TERMCAP_me (printf "\033[0m")
set -x LESS_TERMCAP_se (printf "\033[0m")
set -x LESS_TERMCAP_so (printf "\033[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\033[0m")
set -x LESS_TERMCAP_us (printf "\033[01;32m")
答案3
假设您使用 less 作为寻呼机,请将其输入~/.config/fish/config.fish
:
set -x LESS_TERMCAP_mb (printf "\e[01;31m")
set -x LESS_TERMCAP_md (printf "\e[01;31m")
set -x LESS_TERMCAP_me (printf "\e[0m")
set -x LESS_TERMCAP_se (printf "\e[0m")
set -x LESS_TERMCAP_so (printf "\e[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\e[0m")
set -x LESS_TERMCAP_us (printf "\e[01;32m")
如果\e[0m
您在查看手册页时看到等,请尝试添加此行:
set -x LESS "-R"
答案4
我推荐一款非常好的工具,叫做蝙蝠猫由...提供https://github.com/sharkdp/bat。
bat
该软件包自 Ubuntu 20.04 版(“Focal”)起可用,自 2021 年 8 月起在 Debian 上可用(Debian 11 - “Bullseye”),其命令batcat
是带翅膀的猫替代品。
来自 git 文档:
man
bat
可以man
通过设置MANPAGER
环境变量来用作 的彩色分页器:bash export MANPAGER="sh -c 'col -bx | batcat -l man -p'"
MANROFFOPT="-c"
如果遇到格式问题,可能还需要进行设置。如果你希望将其捆绑在新命令中,你也可以使用 蝙蝠侠。
请注意,Manpage 语法是在此存储库中开发的,但仍需要一些工作。
另外,请注意,这将不行使用 Mandocs
man
实现。
安装这个bat包
sudo apt install bat
我喜欢 Monokai 主题,因此我将这个命令添加到我的.zshrc
:
export MANPAGER="sh -c 'col -bx | batcat -l man -p --theme 'Monokai Extended''"
如果你使用fish
shell,请将以下行添加到你的~/.config/fish/config.fish
文件中:
set -x MANPAGER "sh -c 'col -bx | batcat -l man -p --theme 'Monokai Extended''"
可以通过以下命令打印已安装的颜色主题列表
batcat --list-themes
以下是截图man 3 printf