转载:http://forum.ubuntu.org.cn/viewtopic.php?p=2498184

代码:
set fenc=

就好了.
参考:

引用:
vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(fileencodings)

其中fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系统环境跟你的enc设置匹配),你可以通过改变 fenc后再w来将此文件存成不同的编码。比如说,我:set fenc=utf-8然后:w就把文件存成utf-8的了,:set fenc=gb18030再:w就把文件存成gb18030的了。这个值对于打开文件的时候是否能够正确地解码没有任何关系。

fencs就是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码。比如我的vimrc里面这个的设置是

set fileencodings=utf-8,gb18030,utf-16,big5

所以我的vim每打开一个文件,先尝试用utf-8进行解码,如果用utf-8解码到了一半出错(所谓出错的意思是某个地方无法用utf-8正确地解码),那么就从头来用gb18030重新尝试解码,如果gb18030又出错(注意gb18030并不是像utf-8似的规则编码,所以所谓的出错只是说某个编码没有对应的有意义的字,比如0),就尝试用utf-16,仍然出错就尝试用big5。这一趟下来,如果中间的某次解码从头到尾都没有出错,那么 vim就认为这个文件是这个编码的,不会再进行后面的尝试了。这个时候,fenc的值就会被设为vim最后采用的编码值,可以用:set fenc?来查看具体是什么。

至于enc,其作用基本只是显示。不管最后的文件是什么编码的,vim都会将其转换为当前系统编码来进行处理,这样才能在当前系统里面正确地显示出来,因此enc就是干这个的。在windows下面,enc默认是cp936,这也就是中文windows的默认编码,所以enc是不需要改的。在 linux下,随着你的系统locale可能设为zh_CN.gb18030或者zh_CN.utf-8,你的enc要对应的设为gb18030或者 utf-8(或者gbk之类的)。

自己来总结一下吧:

1.如果系统的locale是zh_CN的,那么想让vim能显示正确的编码,在 .vimrc 中设置:

set enc=gbk
set fencs=utf-8,gbk

这样,vim会先探测utf-8的编码,失败了会作为gbk的编码进行解码。显示当然是gbk了,这个和locale相关。

2.查看当前文件的编码:

:set fenc

3.vim中转换编码:

:set fenc=utf8

然后保存即可。

4.如果已经打开了解码错的文件,想重新设置编码格式:

:edit ++enc=utf8

5.shell转换编码:
将一个GBK 编码的文件转换成UTF-8编码
iconv -f gbk -t utf8 file1 -o file2

批量转换文件的编码 :

find . -name '*.txt' -exec iconv -f gbk -t utf8 {} -o tmp.txt \; -exec mv tmp.txt {} \;

注:打开UTF-8编码的文件时,除了vim里的设置,还需要正确SecureCRT,详情请看我的另一篇文章《关于SecureCRT中的2个中文问题》

vim 写入错误,转换失败 (请将 'fenc' 置空以强制执行)相关推荐

  1. 计算机硬盘写入错误怎么办,永劫无间磁盘写入错误怎么办 磁盘写入错误解决办法...

    永劫无间磁盘写入错误怎么办 磁盘写入错误解决办法 2021-06-17 16:45:00来源:永劫无间吧编辑:双习评论(0) 不少玩家在下载永劫无间后遇到了磁盘写入错误的问题,那么该怎么解决这个问题? ...

  2. ae渲染出现错误是什么问题_After Effects错误:写入文件.....时发生渲染错误.输出模块失败.文件可能已损坏。(-1610153464)...

    我来回答一下,你在电脑里安装了其他下载的aex文件格式的插件,你只要把你这些插件删除掉,问题就可以解决,(安装插件不正确,或者有相同的插件也出现提示框)其实,这个提示不重要,你正常开启AE以后,正常使 ...

  3. 文件转换html文件失败,pandoc文档转换失败,出现错误67

    我,使用R 3.3.2和Rstudio版本1.0.44,这是我RMarkdown文件pandoc文档转换失败,出现错误67 --- title: "Sentiment Analysis&qu ...

  4. apmserv mysql5.1启动失败_使用APMServ时出现“1、Apache启动失败,请检查相关配置。√MySQL5.1已启动。”错误的终极解决办法:...

    使用APMServ时出现"1.Apache启动失败,请检查相关配置.√MySQL5.1已启动."错误的终极解决办法: from:http://www.hebei35.cn/blog ...

  5. Photoshop安装错误:无法写入注册表值。请检查权限。解决的办法居然是居然是居然是卸载到2345看图王

    Photoshop安装错误:无法写入注册表值.请检查权限. 可能是以前的PS安装包没卸载干净解决方法给四种 一:可以打开C盘的ProgramFiles文件夹‍→找到Adobe文件夹→里面的PS残留文件 ...

  6. 方舟服务器网络信息错误,明日方舟网络安全配置初始化失败请重试\n错误号-1解决办法...

    在明日方舟开启第五章的今天,不少玩家都遇到了"网络安全配置初始化失败,请重试\n错误号-1"这样的问题,下面就跟小编一起去看看网络安全配置初始化失败,请重试\n错误号-1解决方法吧 ...

  7. 江南百景图显示服务器错误,江南百景图通讯失败请保持网络畅通并重试

    江南百景图出现了通讯失败请保持网络畅通并重试的报错,导致许多玩家一直进不去游戏,遇到通讯失败的情况该怎么办呢?下面小编就向大家带来江南百景图通讯失败的解决办法汇总,赶快来看下吧. 江南百景图通讯失败请 ...

  8. cms小猪o2o企业付款配置中微信提现配置实现商家转账到零钱(企业付款到零钱)解决:“操作失败!产品权限验证失败,请查看您当前是否具有该产品的权限“的错误提示

    先说下概念什么是商家转账到零钱?其实这个功能是由企业付款到零钱功能演变过来的,微信支付里面在2022年5月之前这个功能一直叫"企业付款到零钱"后来因为业务需求改成了"商家 ...

  9. 多看Kindle的“导出失败,请检查网络或账号”错误的解决

    一直都用得好好的,今天突然不行了,报错"导出失败,请检查网络或账号". 网上搜索,试了一下这个方法: 我目前的解决办法是:先同步至小米账户(需要联网,并在Kindle系统设置 -& ...

  10. Photoshop安装错误:无法写入注册表值。请检查权限。

    在安装Photoshop cc2018时出现无法写入注册表值,请检查权限的问题,如下图所示 删除注册表不管用时可以用下面的注册表修复软件修复,运行完成后就可以安装了. https://download ...

最新文章

  1. Server 2012 RDS ‘there are no Remote Desktop License Servers available to provide a license.’
  2. UA MATH 571B Tukey‘s Test for Non-additivity
  3. Winfrom 弹出窗体位置设定
  4. python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...
  5. 开关电源PCB排版基本要点概述
  6. 海致星图2022校招算法笔试题
  7. 测试网站漏洞软件,网站漏洞检测工具
  8. DDR March系列算法整理
  9. 《朗读者》中那些让人受益终生的句子
  10. 纯HTML+CSS实现3D炫酷魔方(相册)
  11. 微信小程序——案例:京东首页
  12. 可路由计算引擎实现前置数据库
  13. Mysql---基础查询进阶、流程控制语句
  14. 【Android App】实战项目之虚拟现实(VR)的全景相册(附源码和演示视频 可用于学习和大作业)
  15. LumaQQ源码,注解.下载的用户看一下.
  16. duolingo 多邻国 安卓版无法使用口语功能
  17. IB课程必修课TOK到底有啥用?
  18. CEF3 91.0.4472的源代码编译以及支持MP3MP4的播放
  19. gog无效的验证码_《我的世界》待售,命令行中的GOG等
  20. 英语基础句型结构------起源

热门文章

  1. 计算机网络 - 为什么能ping通 但是访问不了?
  2. 史蒂芬·埃洛普本纪:代号 Trojan.Win32.Elop
  3. 海洋cms模板,海洋cms模板程序源码,海洋cms模板制作方法
  4. 机器学习练习 6 - Support Vector Machines(支持向量机)
  5. 计算机前沿的英语词汇,计算机行业常用英语词汇
  6. 【题解】Priest John's Busiest Day POJ - 3683 ⭐⭐⭐ 【2-SAT 拓扑序】
  7. vue后台管理框架(三)——登录功能
  8. matlab求解微分方程ode23
  9. 链队列——-链式存储实现队列的入队出队(带next,front,rear指针)
  10. 如何写好一个数据分析报告,需要注意哪些?