我正在使用:set fileencoding=utf-8
并且文件已正确保存,但下次打开时,我会收到乱码,:set fileencoding?
表示该选项未设置。
从我理解的文档中,我不应该触及encoding
选项。
在VIM中为文件指定编码的正确方法是什么?
答案 0 :(得分:41)
使用
set fileencodings=utf-8
(最后带有s),其中可以包含不同编码的列表。 Vim会尝试从左到右列出的编码,直到一个工作,它会将fileencoding设置为该编码。如果没有工作,则fileencoding设置为空字符串,这将导致默认行为。
另外,将它添加到你的vimrc可能是有意义的,所以你不会经常这样做。
答案 1 :(得分:22)
您应该将fileencodings
设置为vim在打开文件时应尝试的不同编码,例如:
set fileencodings=ucs-bom,utf-8,latin1
来自:help fileencodings
:
这是一个字符编码列表 在开始编辑时考虑 现有文件。读取文件时,Vim会尝试使用第一个文件 提到的字符编码。如果检测到错误,则检测下一个错误 在列表中尝试。当找到有效的编码时,
fileencoding
设置为它。
您最好将这些设置放在.vimrc
文件中,这样每次启动vim时都不必手动输入它们。
答案 2 :(得分:11)
您可以将该指令放入文件中的注释中:
# vim: set fileencoding=<encoding name> :
答案 3 :(得分:9)
如果vim在打开时没有正确显示您的文件,请指定编码 :set encoding = utf8
答案 4 :(得分:3)
开:
vim ~/.vimrc
添加:
set fileencodings=utf-8
set encoding=utf-8
输入以下内容保存并关闭:
:wq
答案 5 :(得分:2)
我读了很多关于VIM编码的帖子。我发现最重要的诀窍是: 在打开文件之前,您应该首先打开VIM,然后使用命令: 编辑++ enc = filename.ext 它可以处理大多数有关编码和文件编码的问题。
关键点包括:
因为我不是英语母语用户,所以我认为我的方式可以验证。