vim如何知道我的文件的编码?什么时候我都不知道

时间:2014-05-24 17:08:54

标签: vim character-encoding

我已经在charset-hell好几天了,即使我不确定它们是什么,我总是会为我的文件显示正确的字符集(我正在处理在两个字符集中编码的相同内容的文件,混合在一起)

我可以通过检查UTF-8中的ü(u-umlaut)字符与ISO-8859-1中的编码来查看我所在的编码,但我不明白vim是如何计算出来的 - 在那些字符集中只有'特殊字符'真的看起来不同

如果还有其他记录的编码/字符集信息我很想知道

1 个答案:

答案 0 :(得分:1)

可以在:help 'fileencodings'

下找到解释
  

这是开始编辑时考虑的字符编码列表     现有文件。读取文件时,Vim会尝试使用第一个文件     提到的字符编码。如果检测到错误,则检测下一个错误     在列表中尝试。当找到有效的编码时,     'fileencoding'设置为它。如果全部失败,则'fileencoding'设置为     空字符串,表示使用'encoding'的值。

所以,没有任何魔法参与。当文件中有字节顺序标记时,这很容易。否则,Vim会尝试其他一些常见的编码(您可以使用该选项进行影响;例如,如果他们经常编辑此类编码文件,日语人员可能会包含sjis之类的内容。)


如果您想要更智能的检测,可以使用插件,例如: AutoFenc - Tries to automatically detect and set file encoding