如何在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它可以处理大多数关于编码和文件编码的问题。
关键点包括:
- 您必须正确显示字符集! 没有正确的显示,任何其他操作可能会导致不可恢复的问题。
- 文件正确显示后,如果需要,可以“:set fileencoding = UTF-8”
:写“让VIM可以始终正确显示。
因为我不是英语母语的使用者,所以我觉得我的方法是可以validation的。
testing:
vim〜/ .vimrc
加:
设置fileencodings = utf-8
设置encoding = utf-8
保存并closures。
注销并login