如何让`man`命令使用`batcat`(简称`bat`)查看手册页?
如何让
man命令使用batcat(简称bat)查看手册页? 嗨,这个需求我之前也折腾过,毕竟bat的语法高亮看man页确实舒服多了!下面分不同shell给你具体的配置方法,都是亲测有效的:
原理说明
我们需要把man命令的输出分页器替换成bat,不过因为man的原始输出带有一些控制字符(比如反向换行标记),得先用col命令清理一下,再交给bat处理语法高亮。
针对Bash和Zsh的配置
这两个shell的配置方式几乎一致:
- 打开你的shell配置文件:
- Bash:编辑
~/.bashrc - Zsh:编辑
~/.zshrc
- Bash:编辑
- 在文件末尾添加下面这一行:
export MANPAGER="sh -c 'col -bx | bat -l man -p'" - 保存文件后,执行以下命令让配置生效(或者重启shell):
- Bash:
source ~/.bashrc - Zsh:
source ~/.zshrc
- Bash:
针对Fish Shell的配置
Fish的环境变量设置方式略有不同:
- 打开Fish的配置文件:
~/.config/fish/config.fish - 在文件末尾添加这一行:
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'" - 保存后重启Fish shell,或者执行
source ~/.config/fish/config.fish让配置生效。
测试一下
配置完成后,随便敲个命令比如man ls,就能看到带语法高亮的man页啦!如果想临时测试(不修改配置文件),可以直接在当前shell里执行对应的环境变量设置命令,比如在Bash里直接跑:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
然后就能立刻体验高亮效果了。
备注:内容来源于stack exchange,提问作者Flimm
相关产品推荐
相关产品推荐

