Linux中vim显示乱码问题

来源:互联网 发布:微信小程序分销源码 编辑:程序博客网 时间:2024/06/10 01:03

Linux 下编程,用到的编程工具是VI,编辑编译都方便,但经常出现中文乱码问题,下面可完美解决这个问题,由于在windows下默认是gb编码,而vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。
#sudo vim /etc/vim/vimrc
添加gbk

这里写图片描述

再次打开vi,显示就正常了。vim中编辑不同编码的文件时需要注意的一些地方,此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim。

vim编码方面的基础知识

1.存在3个变量:

encoding—-该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等。你可以把 ‘encoding’ 选项当作是对 Vim 内部运行机制的设定。
fileencoding—-该选项是vim写入文件时采用的编码类型。
termencoding—-该选项代表输出到客户终端(Term)采用的编码类型。

2.此3个变量的默认值:

encoding—-与系统当前locale相同,所以编辑文件的时候要考虑当前locale,否则要设置的东西就比较多了。
fileencoding—-vim打开文件时自动辨认其编码,fileencoding就为辨认的值。为空则保存文件时采用encoding的编码,如果没有修改encoding,那值就是系统当前locale了。
termencoding—-默认空值,也就是输出到终端不进行编码转换。
由此可见,编辑不同编码文件需要注意的地方不仅仅是这3个变量,还有系统当前locale和、文件本身编码以及自动编码识别、客户运行vim的终端所使用的编码类型3个关键点,这3个关键点影响着3个变量的设定。
另外,给大家介绍一个linux下删除中文乱码的方法:

  • ls -li 查看乱码文件的 inode 号码
  • 如果能,进一步删除该文件,命令是:fiind . -inum 376008 -exec rm -rf {} \;
原创粉丝点击