如何在 Vim 中查看包含中文字符的文本文件?

如何在 Vim 中查看包含中文字符的文本文件?

我有一个包含中文字符的文本文件。我可以查看它gedit并且它工作正常,但是当我尝试使用 Vim 打开它时,我看到以下内容:

»¹Ã»ºÃºÃ¸ßËÑÑ©»¨ÕÀ·ÅµÄÆøºò£¬ÄôÀÚ¹âÈáÈõºì´øÉÏÀ­²»Éϵľ糡°æ,

我正在使用 Vim 7.04。

答案1

一些智能文本编辑器会尝试猜测正在使用哪种字符编码。在本例中,gedit 猜对了,而 Vim 选择了另一种对它有意义的字符集……但并不完全符合您的预期。(它之所以选择这种字符集,可能是因为您也可以设置默认编码。)

您可以使用命令行获取文件的字符编码file -bi [filename]

您可以从 vim 命令中获取当前字符集:set fileencoding?

您可以使用以下方式设置编码:set encoding=<encoding>

您可能会发现它返回类似 iso-8859-1 的内容。而您的文件可能是以 UTF-8、UTF-16 或 Big5 编码的。

您还可以使用 设置文件的编码:set fileencoding=<encoding>

如果您打开文件并更改文件编码,它会将该文件视为已修改,并将其保存在新编码中。

欲了解更多信息,您可能需要阅读这个SO问题:https://stackoverflow.com/questions/8121609/vims-encoding-options

这里有一个方便的 vim 字符编码选项的链接:http://mindspill.net/computing/linux-notes/determine-and-change-file-character-encoding/

相关内容