vim 用 termencoding 选项控制输出时的编码,这个选项默认为空,也就是不进行转换,
这导致我在 GB 编码的终端下打开 UTF-8 文件,虽然能识别出来,显示却是乱码。
设置终端编码当然可以,不过还是要相应设置 locale,比较麻烦。
通常终端编码和 LOCALE 的设置一致,因此可以借用一下这个设置:
let &termencoding = substitute($LC_ALL, "[a-zA-Z_-]*\.", "", "")
把 termencoding 设置为 locale 的值点后面的部分,比如 LC_ALL 为 zh_CN.GBK,
termencoding 就会被设置为 GBK
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen3feng/archive/2010/07/01/5706714.aspx