vim中的encoding、fileencoding、fileencodings分别是什么意思呀?该如何设置呢?

2025-03-25 21:12:03
推荐回答(1个)
回答1:

encoding:
Vim
内部使用的字符编码方式,包括
Vim

buffer
(缓冲区)、菜单文本、消息文本等。用户手册上建议只在
.vimrc
中改变它的值,事实上似乎也只有在
.vimrc
中改变它的值才有意义。
fileencoding:
Vim
中当前编辑的文件的字符编码方式,Vim
保存文件时也会将文件保存为这种字符编码方式
(不管是否新文件都如此)。
fileencodings:
Vim
启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将
fileencoding
设置为最终探测到的字符编码方式。因此最好将
Unicode
编码方式放到这个列表的最前面,将拉丁语系编码方式
latin1
放到最后面。
4、具体应用环境的设置
只编辑GBK编码的文件
set
fileencodings=cp936
set
fileencoding=cp936
set
encoding=cp936
只编辑UTF-8编码的中文文件
set
fileencodings=utf-8
set
fileencoding=utf-8
set
encoding=cp936
或者
set
encoding=utf-8
同时支持GBK和UTF-8编码
set
fileencodings=ucs-bom,utf-8,cp936
set
fileencoding=utf-8
set
encoding=cp936
或者
set
encoding=utf-8
如果在终端环境下使用Vim,需要设置termencoding和终端所使用的编码一致。例如:
set
termencoding=cp936
或者
set
termencoding=utf-8