• 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)

  • 相关阅读:
    在线教学常态化,EasyDSS视频技术助力在线课堂教学视频平台搭建
    Chrome浏览器访问EasyDSS报错“无法访问此网站”的排查步骤及解决办法
    javascript中的Ajax基础(一)
    Dom基础(二):Dom性能优化
    Promise的then和catch如何影响状态的变化
    javascript中的宏任务和微任务(一)
    cookie和localstorge、sessionStorge的区别
    Dom基础(一):attribute和properrty的区别
    javascript中的宏任务和微任务(二)
    详解javascript的eventloop(二):eventloop和dom渲染
  • 原文地址:https://www.cnblogs.com/yanyichao/p/4117244.html
Copyright © 2020-2023  润新知