linux 下编程,用到的编程工具是VI,编辑编译都方便,但经常出现中文乱码问题,下面可完美解决这个问题

由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。
$vi ~/.vimrc
let &termencoding=&encoding
set fileencodings=utf-8,gbk
$:wq
再次打开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 号码,本实例中文件号码为 376008 

看看能否通过文件 inode 号码查找到文件 

如果能,进一步删除该文件,命令是:fiind . -inum 376008 -exec rm -rf {} \; 

最后来一次ls -li 发现刚才那个乱码文件已经删除。

Linux中vi显示中文乱码的问题相关推荐

  1. linux中文件内容是乱码怎么办,Linux中文本的中文乱码怎么办

    Linux中文本的中文乱码解决方法:首先打开终端,进入到文件所在目录:然后使用命令符把gb18030编码的[a.hpp]转换成utf8的[b.hpp]. [相关文章推荐:linux教程] Linux中 ...

  2. linux命令框显示中文乱码_CentOS终端命令行显示中文乱码的解决方法

    这篇文章主要介绍了CentOS终端命令行显示中文乱码的解决方法,以及测试方法和缺少中文字体时的解决方法,需要的朋友可以参考下 安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方 ...

  3. mysql 注释 乱码_mysql中注释显示中文乱码怎么解决

    2016-12-10 回答 linux下mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: mysql不能插入中文 默认的是客户端和服务器都 ...

  4. unity中text显示中文乱码问题

    在本地c盘--windows--fonts中找一款字体复制(最好找那种不禁止商用的字体) 回到unity项目中,粘贴进Assets中的TextMeshPro-Fonts,(或者直接拖入Assets中, ...

  5. linux中ssh客户端中文乱码( i18n文件配置)

    i18n是 国际化internationalization的缩写 i和n之间正好18个字母 解释: LANG="zh_CN.gb2312"//表明你当前系统的语言环境变量设置 SU ...

  6. oracle用中文linux,linux下Oracle显示中文乱码

    发布时间:2015-05-27 17:06:35 CRT 客户端 添加数据后,查询内容中文的数据都是???,网上搜索下内容,解决方法如下:1.Oracle数据库出现乱码的原因:操作系统与服务器一致,但 ...

  7. linux 中vi 显示行号的设置

    #  vi ~/.vimrc 在配置文件里面加上: set nu  则在vi的时候 会显示行数 set nonu 则在vi的时候不显示行数 到底是显示行数还是不显示 主要看个人喜好了.

  8. linux中mysql不显示中文_linux中解决mysql中文乱码方法

    改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /var/lib/mysql/ 放置的是数据 ...

  9. linux mysql 乱码怎么解决_MySQL_linux中解决mysql中文乱码方法,改默认编码:/etc/init.d/my - phpStudy...

    linux中解决mysql中文乱码方法 改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /v ...

最新文章

  1. Centos Ftp
  2. Ansible自动化运维工具介绍
  3. 微信小程序(6)模板详解 template
  4. 【Vue.js】vue用户登录功能
  5. html导航下拉菜单js点击显示不出来,使用JS做下拉菜单,子菜单不显示
  6. 通过日志恢复MSSQL数据案例
  7. Tiff – 值得你体验一下的可视化的字体对比工具
  8. java图片填充父容器_java相关:spring的父子容器及配置详解
  9. spring3.1声明式事务管理
  10. 第六届蓝桥杯java b组第一题
  11. 攻防世界-杂项-simple_transfer
  12. 【安装配置】DirectAdmin安装Nginx方法
  13. 程序员的app软件开发经验
  14. 智能控制——模糊数学及控制
  15. google colab自动断连咋办?
  16. 学习笔记10 微分方程的matlab符号求解方法
  17. 3A限流开关芯片,2.4A限流芯片
  18. 设置软件以管理员权限开机自启动,MemReduct为例
  19. PHP支付-Stripe支付对接支付宝
  20. 六十星系之30太阳独坐巳亥

热门文章

  1. Type mismatch:
  2. dataguru北京线下沙龙-第二部 《Oracle 索引优化思路--案例分享 -- 刘盛》
  3. [书籍推荐]《软件设计精要与模式(第2版)》-张逸——提高设计模式及软件设计的方法...
  4. 从ncbi下载数据_如何从NCBI下载所有细菌组件
  5. 走出囚徒困境的方法_囚徒困境的一种计算方法
  6. leetcode面试题 04.03. 特定深度节点链表(bfs)
  7. jQuery Ajax POST方法
  8. uni-app清理缓存数据_数据清理-从哪里开始?
  9. 特斯拉最安全的车_特斯拉现在是最受欢迎的租车选择
  10. 附005.Docker Compose文件详解