我有一个文本文件,被告知要把它转换成UTF8格式。如何使用Vim进行转换呢?
:set fileencoding=utf8
:w myfilename
还要注意,UTF8文件通常以字节顺序标记(BOM)开头,表示字节序。 BOM 是可选的,但某些程序仅使用它来确定文件编码。在某些情况下,Vim会写入BOM,但有时不会。要显式设置BOM,请执行以下操作:
:set bomb
了解更多信息,请参阅 :help mbyte-options
,:help utf8
和 :help bomb
。
set fileencoding=utf-8
。如果您告诉Vim写入BOM(它确实会写入),它甚至不会注意到BOM。要使utf-8正常工作,您需要在启动设置中使用该命令或set encoding=utf-8
。至少,在我的系统上是这样的。 - Steinfile -bi filename.txt
命令检查一下,你会看到结果为 "text/plain; charset=utf-8"
。 - HoldOffHunger:set bomb
对我有用,谢谢。 - ferdymercury:w ++enc=utf-8 %
将文件以UTF-8编码写入磁盘。
fileencoding
,:w ++enc=utf-8
只有第一次有效,下一次运行 :w
时,将使用 'fileencoding'
的值。如果你没有明确更改它(在编辑时显式更改或重新加载文件,希望 'fencs'
被适当设置并且实际编码被正确检测),则旧的编码将再次出现。 - Benoit