在Mac笔记本上喜欢使用iTerm2终端,配色比较漂亮养眼,同时考虑兼容性,默认终端环境编码采用UTF-8编码。
平时处理代码时,会遇到使用GBK编码的文件,这时使用默认的git diff命令,能够显示出文件差别,可是因为编码
差别,终端显示出来是乱码,以下:git
这个乱码问题的缘由,是git经过diff正确输出了文件差别,可是终端没法正常显示GBK。所以想到了能够使用iconv对
输出结果进行一次转换来正常显示,以下:优化
上面处理的方法,一个是比价麻烦,每次都须要输入很长的命令;另外一个是没有高亮,很差看。
因此考虑使用系统alias来解决,带参数的alias能够采用以下写法:编码
alias gdg='git_diff_gbk() { git diff $@ | iconv -f gbk -t utf-8 | diff }; git_diff_gbk'
code
以后就能够愉快的使用快捷命令gdg显示文件差别了:blog