vim 中文乱码怎么解决
一般来说只需要正确设置vim的编码识别序列就很少会遇到乱码问题:
set fileencodings=ucs-bom,utf-8,utf-16,gbk,big5,gb18030,latin1
这个设置是有顺序的,一般原则是尽可能把比较独特、不会和别的编码混淆的放在前面(例如ucs-bom,由于带有BOM头的关系很难和别的混淆),然后后面可以按照常用程度降序排列。latin1作为fallback放到最后。
这个序列可能还不是很科学也不是很完整(日文、韩文这两个也比较容易出错的就没有包括),但至少就我目前的使用情况来说(英文及一些ASCII扩展/变种、简体和繁体中文)都没有遇到过问题。如果有朋友知道更好的顺序,欢迎回复或者直接修改我的回答。
如果打开之后还是遇到了乱码,那么就需要手动指定编码了。注意,网络上很多地方提到的设置“fileencoding”(注意不带s)的方法是错误的。认真阅读帮助文档:
When reading a file 'fileencoding' will be set from 'fileencodings'. To read a file in a certain encoding it won't work by setting 'fileencoding', use the |++enc| argument.
当你打开一个文件以后,vim就已经选定好了编码并且认为就是这个编码了,set fileencoding只是修改你希望这个文件以什么编码存在,相当于是设置保存时的编码——一旦设置了不同的fileencoding之后这个文件就变成modified了,需要保存(编码变了)。
正确的做法是在打开文件时使用++enc参数:
:e ++enc=someencoding somefile
如果想重新打开当前文件的话就省略文件名somefile即可。这儿有一个wiki你可以看看:Reloading a file using a different encoding
最后,不要碰encoding这个设置!这是vim的内部编码,除非你确定知道你在干什么,否则一般不需要修改。
vim 中文乱码怎么解决的更多相关文章
- 解决windows下vim中文乱码
解决windows下vim中文乱码 windows安装了vim8,也就是gvim后,打开带有中文的文档,显示中文是乱码. 毕竟有许多文档我是用utf-8编码的,所以解决的办法是设置一下编码为utf-8 ...
- fedora23解决gedit和vim中文乱码的问题
fedora23解决gedit和vim中文乱码的问题 a, an, the这些不定/定 冠词并不是在所有的名词 前面都要加. 只有在语义上需要时,才加. 名词的单数/复数 前面不加 冠词的 例子多的是 ...
- VIM中文乱码
下面是关于VIM中文乱码问题的解决方法: 打开VIM的配制文件在里面加上一段这样的代码就可以了: set encoding=prc
- 自学Python1.4-Centos内vim中文乱码问题
自学Python之路 自学Python1.4-Centos内vim中文乱码问题 1. 登陆的系统---区域语言设置 1.1查看安装中文包: 查看系统是否安装中文语言包 (列出所有可用的公共语言环境的名 ...
- xShell终端中文乱码完全解决方法
xShell终端中文乱码完全解决方法 xShell(xShell5)以及其他终端中文乱码的原因无非有三种:(1)Linux系统的编码问题:(2)xShell终端的编码问题: (3)两端的语言编码不一致 ...
- Win 7英文系统显示中文乱码的解决(转)
Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...
- php 使用phpmailer 发送邮件(附带中文乱码的解决方法)
下载phpmailer ,在程序里包含class.phpmailer.php 类 ,这里有中文乱码的解决方法 实例代码如下 <html> <head> <title&g ...
- C#中WebClient使用DownloadString中文乱码的解决办法
原文:C#中WebClient中文乱码的解决办法 第一次尝试: string question = textBox1.Text.ToString(); WebClient client= new We ...
- JSP的学习(4)——中文乱码的解决
本篇将以JSP页面中可能存在的中文乱码问题进行分析和解决. 中文乱码的问题一直是国人在编程过程中的一大头疼问题,这点上在JSP.Servlet或Tomcat上随处可见.比如我们在写一个Servlet时 ...
随机推荐
- 软件职位进阶--立Flag
PS:是我从看过的书籍<软件测试进阶之路>上摘录的 很喜欢:深耕细作一词,可以走管理leader方向,但我更愿意是技术掌握到手后,兼职管理岗位. 庆幸吧,脚踏实地,没有上来就学自动化,所以 ...
- xpath 选取指定文本内容可能是多种情况下的语法
url_list = select.xpath("//ul/li/a[contains(text(),'新闻中心' )]/../../li/a/@href | //ul/li/a[conta ...
- IntelliJ IDEA spring boot 远程Ddbug调试
一.idea配置 1.在idea中点击右上角的 "Edit Configurations" 2.点击+,选择Remote 3.在Name处为此次Dbug起个名字,在Host添加测试 ...
- django之关联field 描述子
"""Accessors for related objects. When a field defines a relation between two models, ...
- 数据结构——串(KMP)
空串:长度为0的串 空格串:由一个或多个空格组成的串 串常用的3种机内表示方法: 定长顺序存储表示: 用一组地址连续的存储单元存储串的字符序列,每一个串变量都有一个固定长度的存储区,可用定长数组来描述 ...
- mysql设置远程访问
Mysql远程访问设置,容许远程连接本地数据库. 1.进入本地Mysql安装目录bin下,登录Mysql, 如图: 2. 切换数据库到内置的名为“mysql”的数据库,可以看到下面的一个名为“use ...
- (转)IIS7无法读取配置文件解决办法
web.config 太大导致”出现无法读取配置文件,因为它超过了最大文件大小”错误问题的解决方法,如下:HKLM\SOFTWARE\Microsoft\InetStp\Configuration\M ...
- lanya
var app = getApp() Page({ data: { motto: 'Hello World', openBLE:'打开蓝牙设备', startBLEDiscover ...
- [Ting's笔记Day9]活用套件Carrierwave gem:(4)使用Imagemagick修改图片大小
前情提要: 这几天我都在实验Carrierwave这套图片上传套件,也顺利部署到Heroku架站正式环境了.:) 接下来我遇到了新的问题:要如何在上传的时候,让Carrierwave gem大型siz ...
- 导弹拦截问题(DP+贪心)
1. 拦截导弹(Noip1999) 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度. ...