设置vim的字符集,为了确定是不是vim的字符集问题,可以vim 文件之后后使用:set encoding=utf8看看能否正常显示。vim乱码的终极解决办法是更改vim的环境变量,具体的如下:

vi ~/.vimrc 添加set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 然后保存,再vim 带中文的文件你就发现乱码问题没有了

UNIX 开发者决定用 <LF> 一个字符来表示行尾。
Apple 开发者规定了用 <CR> 。
开发 MS-DOS (Windows)开发者则决定沿用<CR><LF>。
这就是说,把一个文件从一种系统移到另一种系统,就有换行符的麻烦。如:用 vi 来尝试编辑一个采用 MS-DOS 格式的文件,你将会发现每一行的末尾有个 ^M 字符。(^M 就是 <CR>)。
set ff=unix ,就是告诉 vi 编辑器,使用unix换行符
set ff=dos ,就是告诉 vi 编辑器,使用dos换行符