给LESS增加语法显示

作者: 混沌边缘的伊卡洛斯 | 来源:发表于2017-06-04 16:15 被阅读54次

    经常用less查看文件内容,但是默认的显示没有语法彩色显示,不容易分辨各种文档。(注:这里说的less是shell命令,不是 CSS 预处理语言

    默认的less效果

    自定义了一个脚本文件cless,输出就不再是原来的默认效果,有了语法彩显,查看代码或是脚本就方便很多了。

    增加彩色语法显示

    设置非常简单,利用pygments来作为彩色引擎,据官方介绍,它支持300+种语言的语法显示!

    • 安装下载 pygments
    pip install pygmentize 
    

    如果没有权限,请在前面加上sudo

    • 写脚本文件 /usr/local/bin/cless
    #!/bin/sh
    
    ## 使用 pygmentize -L styles 可以查看所有支持的风格
    # (default emacs friendly colorful autumn murphy manni monokai perldoc pastie borland trac native fruity bw vim vs xcode igor paraiso-light paraiso-dark lovelace algol algol_nu arduino rainbow_dash abap)
    
    if [[ -n "$1" ]]; then
        # 常规方式打开文件 'cless <file>
        ## 估计文件的语法类型,若不支持会返回`text`类型
        lexer=$(pygmentize -N "$1")
        pygmentize -f 256 -l "$lexer" -O style=monokai "$1" | less -R;
    else
        # 接受管道输入数据, 'cat <file> | cless'
        pygmentize -f 256 -O style=monokai | less -R;
    fi
    

    是不是很简单?一个支持语法彩色显示的shell功能就完成了:-)

    Python 格式 CMake XML

    相关文章

      网友评论

      本文标题:给LESS增加语法显示

      本文链接:https://www.haomeiwen.com/subject/bknvfxtx.html