本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

在命令行查看git的diff,碰到GBK编码的文件时,中文显示会是乱码。

原因:git diff的输出使用less,而less不支持gbk编码
解决方案:通过将git diff的输出放到一个支持gbk的编辑器中就可以了

以下是使用不通的编辑器查看 git diff 的办法。

git diff | vim -R -

MacVim

git diff | mvim -R -

Sublime

git diff | subl

TextMate

git diff | mate

vim中使用gbk编码

用vim打开文件后,如果vim无法正确识别文件的编码,通过下面命令可以通知vim使用指定编码重新加载文件:

:e ++enc=<encoding>

fileencoding配置项

vim的这个配置项的值是一个编码列表。

当vim打开一个文件时,会按照顺序尝试使用这个列表中的编码来显示文件,并使用第一个能够正确显示文件的编码来打开文件,更多细节内容参考vim文档。

在.vim/vimrc中设置fileencodings,自动识别gbk编码

set fileencodings=ucs-bom,utf-8,utf-16,gbk,latin1