我已经在charset-hell好几天了,即使我不确定它们是什么,我总是会为我的文件显示正确的字符集(我正在处理在两个字符集中编码的相同内容的文件,混合在一起)
我可以通过检查UTF-8中的ü(u-umlaut)字符与ISO-8859-1中的编码来查看我所在的编码,但我不明白vim是如何计算出来的 - 在那些字符集中只有'特殊字符'真的看起来不同
如果还有其他记录的编码/字符集信息我很想知道
答案 0 :(得分:1)
可以在:help 'fileencodings'
:
这是开始编辑时考虑的字符编码列表 现有文件。读取文件时,Vim会尝试使用第一个文件 提到的字符编码。如果检测到错误,则检测下一个错误 在列表中尝试。当找到有效的编码时, 'fileencoding'设置为它。如果全部失败,则'fileencoding'设置为 空字符串,表示使用'encoding'的值。
所以,没有任何魔法参与。当文件中有字节顺序标记时,这很容易。否则,Vim会尝试其他一些常见的编码(您可以使用该选项进行影响;例如,如果他们经常编辑此类编码文件,日语人员可能会包含sjis
之类的内容。)
如果您想要更智能的检测,可以使用插件,例如: AutoFenc - Tries to automatically detect and set file encoding