mac的man pages配置

查看man文档时,发现文档和命令不匹配,原因不明,解决方案如下。

1 重建manpages数据库

sudo /usr/libexec/makewhatis

相关链接:[man pages](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/manpages.5.html)

该命令只是重建索引,并不会生新安装man pages。

2 安装对应版本man pages

重建man pages数据库多半解决不了,可以自己安装需要的版本。

a 下载:

git clone http://git.kernel.org/pub/scm/docs/man-pages/man-pages

或者git clone https://github.com/mkerrisk/man-pages.git

b 安装:

make && make install

3 安装中文man pages

a 下载

wet http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz

或者https://github.com/lidaobing/manpages-zh

b 安装

make && install

c 编码问题

如果存在编码问题,编辑/etc/man.conf中的NROFF行为:

 

NROFF preconv -e UTF8 |nroff -Tutf8 -mandoc -c

 

如果不行,更新groff至1.2以上:

brew remove groff && brew install groff

如果还不行,修改上面的preconv和nroff为绝对路径:

ROOT$ which preconv
/usr/bin/preconv
ROOT$ which nroff
/usr/bin/nroff

NROFF /usr/bin/preconv -e UTF8 |/usr/bin/nroff -Tutf8 -mandoc -c

cited:[man命令的中文帮助文档](http://www.fengyachao.com/archives/230)

4 根据在线文档重建man pages

其实到这一步为止,手册与命令仍不能匹配。因为上面man pages的安装都是安装section2、3、4、5、7,而没有section1,具体原因不明。如果实在是有强迫症,可以下载Ubuntu的manpages安装。

[Ubuntu 14.10 man1](http://manpages.ubuntu.com/manpages/precise/man1/)

另外,如果是ubuntu系统,可以实时在线获取手册[dman](http://manpages.ubuntu.com/dman)

如果是其他系统,可以模仿d操作。获取html,然后通过[html2man](http://get-software.net/fonts/utilities/ttf2pt1/scripts/html2man)命令生成man后显示。

以下是一个示例:

 1 #!/bin/bash
 2 
 3 # Download online man pages
 4 nohup wget -r -l 2 "http://man.he.net/"
 5 
 6 # html2man
 7 for page in `find man.he.net -mindepth 1 -print`
 8 do
 9     i=`echo $page |awk -F '/' '{print $2}' |sed 's/man//g'`
10     perl html2man.pl $page > $page"."$i
11 done

man pages下载下来并转义后,利用上面的安装方法安装即可。

5 配色

vim ~/.bashrc添加:

 1 # Set colors for man pages.
 2 man() {
 3     env \
 4         LESS_TERMCAP_mb=$(printf "\e[0m") \
 5         LESS_TERMCAP_md=$(printf "\e[1m") \
 6         LESS_TERMCAP_me=$(printf "\e[0m") \
 7         LESS_TERMCAP_se=$(printf "\e[0m") \
 8         LESS_TERMCAP_so=$(printf "\e[0m") \
 9         LESS_TERMCAP_ue=$(printf "\e[0m") \
10         LESS_TERMCAP_us=$(printf "\e[0m") \
11         man "$@"
12 }

其中:

LESS_TERMCAP_md 设置了命令和参数等关键字的颜色。
LESS_TERMCAP_me 设置了文字内容的颜色。

6 相关命令

查看man版本:

man -v

设置中文man命令:

vim ~/.bashrc
alias cman='man -M /usr/local/share/man/zh_CN'

查看命令对应的文档:

man -aw ls

7 相关问题

虽然man命令和手册不匹配,但online和offline手册是一致的,[man ls](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ls.1.html)

转载于:https://www.cnblogs.com/yanyichao/p/4117244.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值