这两个命令之间有什么区别?在Vim中将编码和文件编码设置为utf-8
set encoding=utf-8
set fileencoding=utf-8
我需要同时设置时,我想使用UTF-8?
此外,我是否需要使用set
或setglobal
来设置文件编码?
这两个命令之间有什么区别?在Vim中将编码和文件编码设置为utf-8
set encoding=utf-8
set fileencoding=utf-8
我需要同时设置时,我想使用UTF-8?
此外,我是否需要使用set
或setglobal
来设置文件编码?
在第一种情况与
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集的默认值的空值还可以用于:默认为相同为‘编码’或者可能。想要设置一个ucs编码,它可能会根据你的特殊字符混合使相同的磁盘文件变大或变小。另外,IIUC,utf-8总是大端(高位在先),而ucs可以是大的, endian或little-endian的,所以如果你使用它,你可能需要设置“炸弹‘(见下文)。’
对不起,我不明白。 fileencoding究竟做了什么更确切的事情? – 2013-05-12 14:01:44
在第一种情况下,您将更改终端中显示的输出编码。在第二种情况下,您将更改写入文件的输出编码。 – 2013-05-12 14:03:57
+1对于简短和甜蜜的回答,而不是仅仅重复官方文档! :) – 425nesp 2013-09-09 09:37:19
set encoding=utf-8 " The encoding displayed.
set fileencoding=utf-8 " The encoding written to file.
您可能如果您始终想要使用utf-8,请在~/.vimrc
中设置。
请注意,在LOCALE中设置编码比在Vim中强制编码更安全,以防编辑非Unicode文件。你会得到相同的结果,因为它会默认为LOCALE,如果遇到,你不会弄乱任何外来字符。 – timss 2013-05-13 00:12:17