如何在VIM中设置文件的字符编码

我正在使用:set fileencoding=utf-8并且文件保存正确,但下一次打开它时,出现乱码:set fileencoding? 说这个选项没有设置。

从文档我明白,我不应该触摸encoding选项。

在VIM中为文件指定编码的正确方法是什么?

使用

 set fileencodings=utf-8 

(最后是s),它可以包含不同的编码列表。 Vim会尝试从左到右列出的编码,直到一个工作,它将fileencoding设置为该编码。 如果没有任何工作,则fileencoding被设置为一个空string,这将导致默认行为。

另外这可能是有道理的,添加到您的vimrc,所以你不是经常这样做。

你应该设置fileencodings到不同的编码vim应该尝试打开一个文件,例如:

 set fileencodings=ucs-bom,utf-8,latin1 

来自:help fileencodings

这是开始编辑现有文件时考虑的字符编码列表。 读取文件时,Vim会尝试使用前面提到的字符编码。 如果检测到错误,则尝试列表中的下一个错误。 当一个编码被发现工作, fileencoding被设置为它。

最好将这些设置放在.vimrc文件中,这样每次启动vim时都不必手动input。

您可以将该指令放入文件的注释中:

 # vim: set fileencoding=<encoding name> : 

如果vim在打开时没有正确地显示你的文件,请使用:set encoding = utf8来指定编码

我读了很多关于VIM编码的主题。 我发现最重要的技巧是:在打开文件之前,应该首先打开VIM,然后使用命令: edit ++ enc = filename.ext它可以处理大多数关于编码和文件编码的问题。

关键点包括:

  1. 您必须正确显示字符集! 没有正确的显示,任何其他操作可能会导致不可恢复的问题。
  2. 文件正确显示后,如果需要,可以“:set fileencoding = UTF-8”
    :写“让VIM可以始终正确显示。

因为我不是英语母语的使用者,所以我觉得我的方法是可以validation的。

testing:

vim〜/ .vimrc

加:

设置fileencodings = utf-8

设置encoding = utf-8

保存并closures。

注销并login