我用Vim编辑各种文件(因为我确信大多数Vim用户都这样做).我遇到的一个错误就是Vim在遇到带有奇数编码的文件时所做的事情.大多数编辑(这些天)在检测文件编码方面做得很好.但是,Vim通常不会.你必须键入,例如:
:e ++enc=utf-16le
Run Code Online (Sandbox Code Playgroud)
以UTF-16重新读取文件(否则你会获得大量的@符号)
我一直在搜索并看过set_utf8.vim可以检测特定文件编码的脚本.但是,有更一般的解决方案吗?我有点无聊,必须手动计算文件编码是什么,并在每次打开一个不寻常的文件时咨询帮助.
Ing*_*kat 15
添加编码名称'fileencodings'应该可以解决问题:
:set fencs=ucs-bom,utf-16le,utf-8,default,latin1
Run Code Online (Sandbox Code Playgroud)
将此代码添加到您的.vimrc:
if has("multi_byte")
if &termencoding == ""
let &termencoding = &encoding
endif
set encoding=utf-8
setglobal fileencoding=utf-8
"setglobal bomb
set fileencodings=ucs-bom,utf-8,latin1
endif
Run Code Online (Sandbox Code Playgroud)