默认设置下less总是灰蒙蒙的一片,但如果要看成堆的代码,还是有必要打开less的语法高亮功能。
方案1:最less的方法,使用source-highlight
- 安装source-highlight
- 执行如下指令
cat >> ~/.bash_profile << EOF
LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
LESS=' -R '
export LESSOPEN LESS
EOF
- 重新登录或执行
. ~/.bash_profile
方案2:最vim的方法
用less打开文件后按v,则进入vim,当然也就有语法高亮了。
方案3:用vim伪装的less
添加别名
alias less=/usr/share/vim/vim72/macros/less.sh
方案4:传说中的most
其实没有方案4,至少我目前还搞不定most,不过google的时候有虾说most可以实现语法高亮,我装了以后是看见颜色了,不过不是代码的颜色::>_<::!如果哪只虾知道正解,务必告诉我。
方案对比:
方案1看上去是最正统的解决方法,less依旧是那个less,能力却增强了。但这里有个小问题:source-highlight的高亮方案和vim是不一致的。(就我个人的观点,“读”文件和“写”文件时看到的高亮方案“当然必须”是一样的,Don’t Make Me Think!)。当然如果是高手当然可以自定义source-highlight,但那样实在有悖于DRY原则(所以只有让高手高手高高手来写脚本直接根据vim的设置生成src-hl的设置……貌似不值得)。目前,src-hl支持的语言比vim少得多,很多都认不出来,比如我每天要写的groovy代码……
方案2其实根本不算解决方案,虽然这个功能本身还是非常有用的。如果看代码的时候突然想修改一下,那么按v就直接调用了vim。但这样做的话,很有可能不小心就改掉了代码,而且既然你要用这个功能,为啥不直接从vim打开呢?
方案3绕过了问题,调用了vim的只读模式然后伪装成一个less。这是我现在正在使用的方案。即实现了统一的色彩方案,又不会不小心修改文件。但是这个方案也有缺陷,less本身可以处理文件内容的变动(按G,考虑服务器的日志文件),而vim则不会直接加载文件的变动内容。(所以说这是个适合程序员的方案,系统管理员还是用方案1比较好)
参考文章:借我一双写轮眼──Less 语法高亮 (写轮眼是虾米?)