Linux中vi显示中文乱码的问题
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显示中文乱码的问题相关推荐
- linux中文件内容是乱码怎么办,Linux中文本的中文乱码怎么办
Linux中文本的中文乱码解决方法:首先打开终端,进入到文件所在目录:然后使用命令符把gb18030编码的[a.hpp]转换成utf8的[b.hpp]. [相关文章推荐:linux教程] Linux中 ...
- linux命令框显示中文乱码_CentOS终端命令行显示中文乱码的解决方法
这篇文章主要介绍了CentOS终端命令行显示中文乱码的解决方法,以及测试方法和缺少中文字体时的解决方法,需要的朋友可以参考下 安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方 ...
- mysql 注释 乱码_mysql中注释显示中文乱码怎么解决
2016-12-10 回答 linux下mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: mysql不能插入中文 默认的是客户端和服务器都 ...
- unity中text显示中文乱码问题
在本地c盘--windows--fonts中找一款字体复制(最好找那种不禁止商用的字体) 回到unity项目中,粘贴进Assets中的TextMeshPro-Fonts,(或者直接拖入Assets中, ...
- linux中ssh客户端中文乱码( i18n文件配置)
i18n是 国际化internationalization的缩写 i和n之间正好18个字母 解释: LANG="zh_CN.gb2312"//表明你当前系统的语言环境变量设置 SU ...
- oracle用中文linux,linux下Oracle显示中文乱码
发布时间:2015-05-27 17:06:35 CRT 客户端 添加数据后,查询内容中文的数据都是???,网上搜索下内容,解决方法如下:1.Oracle数据库出现乱码的原因:操作系统与服务器一致,但 ...
- linux 中vi 显示行号的设置
# vi ~/.vimrc 在配置文件里面加上: set nu 则在vi的时候 会显示行数 set nonu 则在vi的时候不显示行数 到底是显示行数还是不显示 主要看个人喜好了.
- linux中mysql不显示中文_linux中解决mysql中文乱码方法
改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /var/lib/mysql/ 放置的是数据 ...
- linux mysql 乱码怎么解决_MySQL_linux中解决mysql中文乱码方法,改默认编码:/etc/init.d/my - phpStudy...
linux中解决mysql中文乱码方法 改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /v ...
最新文章
- Centos Ftp
- Ansible自动化运维工具介绍
- 微信小程序(6)模板详解 template
- 【Vue.js】vue用户登录功能
- html导航下拉菜单js点击显示不出来,使用JS做下拉菜单,子菜单不显示
- 通过日志恢复MSSQL数据案例
- Tiff – 值得你体验一下的可视化的字体对比工具
- java图片填充父容器_java相关:spring的父子容器及配置详解
- spring3.1声明式事务管理
- 第六届蓝桥杯java b组第一题
- 攻防世界-杂项-simple_transfer
- 【安装配置】DirectAdmin安装Nginx方法
- 程序员的app软件开发经验
- 智能控制——模糊数学及控制
- google colab自动断连咋办?
- 学习笔记10 微分方程的matlab符号求解方法
- 3A限流开关芯片,2.4A限流芯片
- 设置软件以管理员权限开机自启动,MemReduct为例
- PHP支付-Stripe支付对接支付宝
- 六十星系之30太阳独坐巳亥
热门文章
- Type mismatch:
- dataguru北京线下沙龙-第二部 《Oracle 索引优化思路--案例分享 -- 刘盛》
- [书籍推荐]《软件设计精要与模式(第2版)》-张逸——提高设计模式及软件设计的方法...
- 从ncbi下载数据_如何从NCBI下载所有细菌组件
- 走出囚徒困境的方法_囚徒困境的一种计算方法
- leetcode面试题 04.03. 特定深度节点链表(bfs)
- jQuery Ajax POST方法
- uni-app清理缓存数据_数据清理-从哪里开始?
- 特斯拉最安全的车_特斯拉现在是最受欢迎的租车选择
- 附005.Docker Compose文件详解