Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1971490
  • 博文数量: 185
  • 博客积分: 10707
  • 博客等级: 上将
  • 技术积分: 1777
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-19 17:31
文章分类

全部博文(185)

文章存档

2014年(1)

2012年(6)

2011年(27)

2010年(13)

2009年(75)

2008年(63)

分类: LINUX

2011-07-30 21:32:50

如果想看效果,将分隔线下面的内容保存为x.bashrc,在$HOME下的.bashrc中source就好了。

------------------------------------------------------------------
#!/bin/bash

# 颜色变量的定义~
case "$TERM" in
msys)
CONTEXT_COLOR="^[[37m"
ADD_COLOR="^[[32m"
DELETE_COLOR="^[[31m"
LOCATION_COLOR="^[[36m"
INDEX_COLOR="^[[35m"
NORM_COLOR="^[[0m"
;;
*) CONTEXT_COLOR=`tput setaf 7`
ADD_COLOR=`tput setaf 2`
DELETE_COLOR=`tput setaf 1`
LOCATION_COLOR=`tput setaf 6`
FILE_COLOR=`tput setaf 3`
INDEX_COLOR=`tput setaf 5`
NORM_COLOR=`tput sgr0`
;;
esac

# 该函数用于svn log的颜色显示
slg() {
    env svn log $* |
    sed -e "/r[0-9]\+ /,/^------\+/{
    /r[0-9]\+ /s:.*:$ADD_COLOR&$NORM_COLOR:
    /r[0-9]\+ /!{
    /^------\+/!s:.*:$FILE_COLOR&$NORM_COLOR:
    }
    }" -e "/^------\+/s:.*:$DELETE_COLOR&$NORM_COLOR:" |
    ${PAGER:-less -QRS}
}

# 该函数用于svn diff的颜色显示
sdl() {
env svn diff $* |
sed -e "s/^+[^+].*/${ADD_COLOR}&${NORM_COLOR}/g" \
    -e "s/^-[^-].*/${DELETE_COLOR}&${NORM_COLOR}/g" \
    -e "s/^[-+]\{3\}.*/${FILE_COLOR}&${FILE_COLOR}/g" \
    -e "" \
    -e "s/^[iI]ndex.*/${INDEX_COLOR}&${NORM_COLOR}/g" \
    -e "s/.*/${CONTEXT_COLOR}&${NORM_COLOR}/g" \
    -e "s/\r//g" |
${PAGER:-less -QRS}
}

# 该函数用于显示当前svn被修改的文件
sdlf() {
env svn diff $* |
grep "^--- " |
sed -e "s/^[-+]\{3\}.*/${FILE_COLOR}&${FILE_COLOR}/g"
}

# 这里,用于自定义svn的子命令
svn() {
    case "$1" in
    log)
        shift
        slg "$@"
        ;;
    diff)
        shift
        sdl "$@"
        ;;
    *)
        env svn "$@"
        ;;
    esac
}

转自:http://lyzzmo.blog.163.com/blog/#m=0


阅读(4191) | 评论(0) | 转发(0) |
0

上一篇:时域和频域的概念

下一篇:C语言调试接口

给主人留下些什么吧!~~