zoukankan      html  css  js  c++  java
  • vim中显示不可见字符

    1、查看文件的隐藏内容

    对于命令行来说,如果要查看一个文件的隐藏信息,可以通过 cat + -A 的形式,输出隐藏信息
    eg:

    # cat -A i18n
    M-oM-;M-?LANG=zh_CN$$
    

    可以看到,文件的隐藏内容被输出出来了。
    如果需要在vim里面查询呢?

    2、vim查看文件的隐藏信息

    方式1:通过 :set invlist,但是这种方式只会显示^I $ 这样的字符
    方式2:通过 :%!cat -A 可以查看具体的信息

    案例:
    这里有两个文件,不显示文件的内容,直接cat 或者 vim查看的时候,文件内容是一样,但是通过cksum检查文件的大小以及crc校验和,发现不一致;
    分析:正常情况下,如果文件的内容是一样的,那么校验和和大小应该是一直的才对。
    解决办法:
    ① 通过diff对比两个文件

    [root@yjt tmp]# diff i18n i18n_ok 
    1c1
    < ?LANG=zh_CN$
    ---
    > LANG=zh_CN
    

    很明显的发现,两个文件的内容居然不一致,这个时候可以猜想文件里面可能存在其他的字符,像隐藏字符,空格,空行等。
    ② 通过cat -A 文件名字 查看文件的隐藏信息,发现对比两个文件,确实不一样

    [root@yjt tmp]# cat -A i18n
    M-oM-;M-?LANG=zh_CN$$
    [root@yjt tmp]# cat -A i18n_ok 
    LANG=zh_CN$
    

    ③ 通过vim的方式,删除隐藏的字符,然后保存,发现从新打开的时候,隐藏字符又出现了。这个时候怀疑到文件的存储格式可能不一致
    ④ 通过file命令检查文件的格式

    [root@yjt tmp]# file i18n
    i18n: UTF-8 Unicode (with BOM) text
    [root@yjt tmp]# file i18n_ok 
    i18n_ok: ASCII text
    

    果不其然,文件的格式不一样,导致看是文件的内容一致,但是文件的大小以及校验和却不一样。

  • 相关阅读:
    网站跨站点单点登录实现--cookie
    sql order by 排序多个字段
    JAVA字符串格式化-String.format()的使用
    Cent OS 常用配置命令
    键盘事件keydown、keypress、keyup随笔整理总结
    Chrome 开发者工具使用技巧
    JS打开新窗口防止被浏览器阻止的方法[转]
    javaBean与map类型相互转换
    【转载】 自动化机器学习(AutoML)之自动贝叶斯调参
    国内还不错的量化交易平台
  • 原文地址:https://www.cnblogs.com/yjt1993/p/13278431.html
Copyright © 2011-2022 走看看