为什么每个新文件都自动用 ASCII 编码,而所有内容都设置为 UTF-8?

为什么每个新文件都自动用 ASCII 编码,而所有内容都设置为 UTF-8?

我的系统语言环境设置为 UTF-8:US,这可以通过运行 locale 命令来确认。但很奇怪的是,每次我输入命令vim FILENAME(文件不存在,我使用此命令创建一个新文件)并使用:wq它保存文件时,我总是得到以 ASCII 编码的文件。我尝试set fileencodings=utf-8在 .vimrc 文件中添加该行,但没有任何变化。我该如何解决这个问题?

答案1

当所有字符都是< 128ASCII 和 UTF-8 时,它们是相同的。ASCII 是 UTF-8 的子集(也是 latin1 和许多其他编码格式的子集)。

也许一切都很完美!


配置命令:

set fileencodings=要尝试的编码格式列表

用于定义 vim 在打开文件时尝试使用的编码格式的顺序。

set fileencodings=ucs-bom,utf-8,latin1是一个更好的主意:首先尝试使用任何带有BOM标题的 Unicode,然后它会尝试将其解释为UTF-8,如果一切都失败latin1

答案2

在你的 .vimrc 中,添加

set encoding=utf-8

并重启 Vim。参见文档

相关内容