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

果不其然,文件的格式不一樣,導致看是文件的內容一致,但是文件的大小以及校驗和卻不一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM