• 一次 Vim 文档内容乱码故障处理


    一、问题

    最近朋友出现一个这样的问题, 朋友在vim 某个文件的时候,发现里面的中文乱码了, 但是使用 tail 命令的时候是正常的。最后协助解决了下。

    Vim 的时候

    image-20210314142248142

    Tail

    二、问题原因

    综上所述,我们其实就可以知道,应该是 vim 的问题了,应该是vim 打开文件使用的编码格式有问题。

    我们查看我们当前用户的vim配置 ~/.viminfo

    [djx@localhost ~]$ grep  'encoding'  ~/.viminfo
    # Value of 'encoding' when this file was written
    *encoding=latin1
    [djx@localhost ~]$
    

    我们发现我们的 默认encoding 是 latin1

    Latin1是ISO-8859-1的别名 有些环境下写作Latin-1。ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。 不支持中文的,

    这个是不对,应该使用我们的 utf-8

    三、问题解决

    3.1 更改 ~/.viminfo

    我们第一想法是 直接更改 ~/.viminfo, 将 *encoding 设置为 utf-8。 但是我们发现每次更改完文件后,这个直接失效了。 encoding 的值还是变回了 *encoding=latin1。 因为 ~/.viminfo 这个文件是会记录我们之前编辑的文件以及文件。在vim中操作的行为,vim会自动记录下来,保存在 ~/.viminfo 文件中。

    这样为了方便下次处理,
    如:vim打开文件时,光标会自动在上次离开的位置显示。
    原来搜索过的字符串,新打开文件时自动高亮显示。

    ~/.viminfo 文件是系统自动生成。

    3.2 更改 /etc/vimrc

    我们在 /etc/vimrc 末尾文件加上 set encoding=utf-8

    然后我们切换到我们的用户,

    1. 执行下 vim /tmp/test.log 退出,这一次是为了让 ~/.viminfo 重新生成,
    2. 然后我们再执行下 vim /tmp/test.log 就可以看到没有乱码了。

    并且 ~/.viminfo*encoding=utf-8了。

    [djx@localhost ~]$ grep  'encoding'  ~/.viminfo
    # Value of 'encoding' when this file was written
    *encoding=utf-8
    

    如果我们按照上面的执行没有成功,我们可以尝试强制重新生成 .viminfo. 就是把 viminfo 给重命名或者删除,让系统重新生成。

    mv  ~/.viminfo ~/.viminfo.bak
    

    四、问题延升

    也就是对 vim 以及相关配置的一个熟悉和提升。 见另外一篇文章。

    作者:理想三旬
    出处:
    如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
    本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。
  • 相关阅读:
    Ubuntu 14.10 下设置时间同步
    Ubuntu 14.10 下Hadoop FTP文件上传配置
    Hadoop 管理工具HUE配置-集成Unix用户和用户组
    Ubuntu 14.10 下SSH执行远程命令
    Hadoop 管理工具HUE配置-hdfs_clusters配置
    在注册表中无Python3.5安装路径的情况下安装pywin32-
    《BuildingMachineLearningSystemsWithPython》学习笔记
    《利用Python进行数据分析: Python for Data Analysis 》学习随笔
    电脑莫名其妙的被装上了流氓软件DNSunlocker的解决办法
    Python for Data Analysis
  • 原文地址:https://www.cnblogs.com/operationhome/p/14534696.html
Copyright © 2020-2023  润新知