VIM设置编码和文件编码utf-8

两者有什么不同? :

  • set encoding=utf-8
  • set fileencoding=utf-8

我是否需要设置?
我想用utf-8。 另外,我是否需要使用setsetglobal来设置fileencoding?

TL; DR

set encoding=utf-8的第一种情况下,您将更改terminal中显示的输出编码。

在第二种情况下, set fileencoding=utf-8 ,您将更改写入文件的输出编码。

正如@Dennis所说的,如果你总是想用utf-8工作的话,你可以在〜/ .vimrc中设置它们。

更多细节

从VIM关于使用unicode的维基

encoding设置了vim如何在内部表示字符, Utf-8对于大多数Unicode的encoding是必须的”。

fileencoding设置特定文件编码 (本地缓冲区);:setglobal设置默认值,也可以使用空值:默认为'encoding',或者你可能想要设置一个ucs编码另外,IIUC,utf-8总是大端(高位在先),而ucs可以是大端或小端,所以如果是大端或小端,你使用它,你可能需要设置“炸弹”(见下文)。

 set encoding=utf-8 " The encoding displayed. set fileencoding=utf-8 " The encoding written to file. 

如果你总是想使用utf-8,你可以在~/.vimrc设置。