在secureCRT使用中,vim编辑器中文乱码

总体分两步设置:

  1. 在secureCRT设置了会话终端设置
  2. vi ~/.vimrc  

最初如下图乱码:

原因01:在secureCRT设置了会话终端的 编码格式未utf-8
解决01步:选项--会话选项--外观--字符编码  UTF-8

部分中文字可以显示了。但是还是有乱码。如下所示的乱码:


解决02步:vi ~/.vimrc(如果没有vimrc就新建一个)
在vimrc切换成insert模式输入:

set fenc=utf-8 
set encoding=utf-8 
set fileencodings=utf-8,gb18030,utf-16,big5 
set termencoding=gbk 
esc退出编辑模式,":wq"保存。

这样就解决了乱码的问题了。如图正常显示:



原因:

" ******** file encode ********
" unix or dos file
set fileformats=unix,dos
" euc-cn is alias to gb2312
" set vi inside coding, must be set when you use gbk or utf-8
set encoding=utf-8
" actual file encoding, will set as it except fileencodings load other
" set fileencoding=gb2312
set fileencodings=utf-bom,utf-8,gbk,gb2312,gb18030,cp936,latin1
" terminal encoding
" even if you set utf-8 in ssh client

set termencoding=utf-8


-------------------------------
附加解释:
vim与编码相关的参数:
fileencoding,用于配置打开文件和保存文件的编码,但只能有一个值,只适合少数文件都是同种编码的环境,所以一般不使用
fileencodings,从名字上看就知道是fileencoding的增强版,可以配置多种不同的编码,常见的配置为,配置好之后,列表中的文本编码只要合法,都能被vim正确的读取,建议配置:set fileencodings=utf-bom,utf-8,gbk,gb2312,gb18030,cp936,latin1
encoding,vim内部编码,vim读取文件之后,但并不以读取文件的编码来处理,而是会转换成内部编码的格式,这个编码一般与操作系统相关,linux下utf-8居多,中文windows下则是gdk,建议配置:set encoding=utf-8 
termencoding,vim输出的编码,输出指输出到操作系统或命令终端等,默认与操作系统的语言编码一致,如果使用linux命令终端,建议终端和linux系统配置相同的编码,然后配置相同的termencoding,否则顾全了vim就顾不上shell,不过如果shell不存在中文名文件,则配置终端和termencoding一致即可,对于windows,能自动的识别gbk和utf-8,不用特殊配置,建议配置:set termencoding=utf-8
fileformats,用于区分操作系统,主要是回车\r\n的区别,建议配置:set fileformats=unix,dos
发布了48 篇原创文章 · 获赞 35 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/kqZhu/article/details/80091474