在Vim中将编码和文件编码设置为utf-8
这两个命令之间有什么区别在Vim中将编码和文件编码设置为utf-8,vim,encoding,Vim,Encoding,这两个命令之间有什么区别 set encoding=utf-8 set fileencoding=utf-8 当我想使用utf-8时,是否需要同时设置这两个参数 另外,是否需要使用set或setglobal设置文件编码?TL;博士 在第一种情况下,使用set encoding=utf-8,您将更改终端中显示的输出编码 在第二种情况下,使用set fileencoding=utf-8,您将更改写入的文件的输出编码 如@Dennis所述,如果您总是想在utf-8中工作,可以在~/.vimrc中设
set encoding=utf-8
set fileencoding=utf-8
set
或setglobal
设置文件编码?TL;博士
在第一种情况下,使用set encoding=utf-8
,您将更改终端中显示的输出编码
在第二种情况下,使用set fileencoding=utf-8
,您将更改写入的文件的输出编码
如@Dennis所述,如果您总是想在utf-8
中工作,可以在~/.vimrc中设置这两个参数
更多细节
从
“编码
设置vim在内部表示字符的方式。Utf-8对于大多数Unicode格式是必需的。”
“fileencoding
设置特定文件的编码(本地到缓冲区);:setglobal设置默认值。也可以使用空值:它默认为与“encoding”相同。或者您可能希望设置一个ucs编码,它可能会使同一磁盘文件变大或变小,具体取决于您的特定字符组合。此外,IIUC、utf-8始终是大端(高位优先)虽然ucs可以是大端或小端,但如果使用它,可能需要设置“bomb”(见下文)
如果您总是想使用utf-8,那么您可以在
~/.vimrc
中设置这两个变量。您可以在.vimrc中设置变量“fileencodings”
这是开始编辑时考虑的字符编码列表
现有文件。读取文件时,Vim尝试使用第一个文件
提到的字符编码。如果检测到错误,则下一个错误
在列表中尝试。当找到有效的编码时,
将“fileencoding”设置为它。如果全部失败,“fileencoding”将设置为
空字符串,表示使用了“encoding”的值
请参阅:帮助文件编码
如果您经常使用例如cp1252,您可以将其添加到:
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9
对不起,我不明白。fileencoding更确切地做什么?在第一种情况下,您将更改终端中显示的输出编码。在第二种情况下,您将更改写入的文件的输出编码。+1表示简短而甜蜜的回答,而不是仅仅重复官方文档!:)如果需要,直接从comm临时更改和line
vim-c“set encoding=utf-8”file.ext
。请注意,在您的区域设置编码比在vim中强制编码更安全,以防您编辑非unicode文件。您将得到与默认为区域设置相同的结果,并且如果遇到任何外来字符,您将不会弄乱任何外来字符。
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9