vim中的encoding、fileencoding、fileencodings分别是什么意思呀?该如何设置呢?
我用vim编辑的文本文件,里面写了汉字,然后再用UltraEdit打开,结果发现乱码,当然只是汉字乱码,这是怎么回事呢?是不是和encoding、fileencoding...
我用vim编辑的文本文件,里面写了汉字,然后再用UltraEdit打开,结果发现乱码,当然只是汉字乱码,这是怎么回事呢?是不是和encoding、fileencoding、fileencodings有关系?这三个是什... 我用vim编辑的文本文件,里面写了汉字,然后再用UltraEdit打开,结果发现乱码,当然只是汉字乱码,这是怎么回事呢?是不是和encoding、fileencoding、fileencodings有关系?这三个是什么意思呀?如何样设置这三个才能做到一劳永逸以后永远不用设置了? 展开
展开
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询