这两个命令有什么区别?
set encoding=utf-8
set fileencoding=utf-8
当我想使用utf-8时,是否需要设置两者?
另外,我需要使用set
或setglobal
设置fileencoding吗?
在使用
set encoding=utf-8
的第一种情况下,您将更改终端中显示的输出编码。在使用
set fileencoding=utf-8
的第二种情况下,您将更改所写文件的输出编码。
正如@Dennis所说,如果你总是想在utf-8
工作,可以在〜/ .vimrc中设置它们。
来自wiki of VIM about working with unicode
“encoding
设置了vim如何在内部表示字符.Utf-8对于大多数Unicode版本都是必需的。”
“fileencoding
设置特定文件的编码(缓冲区本地);:setglobal设置默认值。也可以使用空值:默认与'encoding'相同。或者你可能想设置其中一个ucs编码,它可能会使相同的磁盘文件变大或变小,具体取决于你特定的字符组合。而且,IIUC,utf-8总是大端(高位优先),而ucs可以是big-endian或little-endian,所以如果你使用它,你可能需要设置'炸弹'(见下文)。“
set encoding=utf-8 " The encoding displayed.
set fileencoding=utf-8 " The encoding written to file.
如果你总是想使用utf-8,你也可以在你的~/.vimrc
中设置。