在vim中顯示並編輯十六進制

你可以在vim中可以把文件轉換爲16進制來顯示:
:%!xxd
解釋:把所有的行(%)用本地(!)的xxd程序打開。
xxd本是linux下一個顯示、編輯、轉換二進制的命令。
返回正常顯示:
:%!xxd -r
注意:vim的-b選項是告訴vim打開的是一個二進制文件,不指定的話,會在後面加上 0x0a ,即一個換行符。
首先以二進制方式編輯這個文件: 
vim -b datafile
現在用 xxd 把這個文件轉換成十六進制: 
:%!xxd
文本看起來像這樣: 
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 
Vim 把這些信息當作普通文本來對待。
修改了十六進制部分並不導致可打印字符部分的改變,反之亦然。

:%!xxd -g 1 表示每1個字節爲1組
:%!xxd -g 2 表示每2個字節爲1組(默認)
:%!xxd -g 4 表示每4個字節爲1組
:%!xxd -r 將vim恢復成原來的顯示
man xxd可以獲得xxd的幫助文件

最後, 用下面的命令把它轉換回來:

:%!xxd -r

只有十六進制部分的修改纔會被採用。右邊可打印文本部分的修改忽略不計。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章