由于在新的 PC 上安装了 Windows 7,一些常用的软件也要跟着重装。突然发现 Vim 7.4 无法打开 UTF-8 编码的文本文件,满屏的乱码真是亮瞎了我的眼啊啊啊啊! 谷歌了几个解决方案,个人认为以下设置最佳: + 设置与编辑文件有关的编码格式 set fileencoding=utf-8 set fileencodings=ucs-bom,utf-8,chinese set encoding=utf-8 set termencoding=utf-8 + vim提示信息乱码的解决,包括了启动时显示的关于界面,以及状态栏等 language messages zh_CN.utf-8 + vim的菜单乱码解决 同样在 _vimrc文件里以上的中文设置后加上下列命令, source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim 简单解释一下以上几个选项所代表的意义: 1. `encoding` Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。 2. `fileencoding` Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。 3. `fileencodings` Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面 4. `termencoding` Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。