vimでバイナリデータを16進数で表示し編集する
バイナリデータを16進数に変換
:%!xxd
こんな感じで表示される
0000000: fa00 0000 3539 2e31 3338 2e38 3400 3900 ....59.138.84.9.
0000010: 4120 b100 f060 3308 705c efbf 185c efbf A ...`3.p\...\..
0000020: 6bf0 0408 586d 3308 505c efbf 4800 0000 k...Xm3.P\..H...
編集・・・
16進数からバイナリデータに変換
:%!xxd -r
セーブ
:w
追記
「~/.vimrc」を以下のようにすれば「-b」オプションで開いたファイルを自動的に16進数表示してくれ、編集、保存もそのままできる。
augroup BinaryXXD
autocmd!
autocmd BufReadPre *.bin let &binary =1
autocmd BufReadPost * if &binary | silent %!xxd -g 1
autocmd BufReadPost * set ft=xxd | endif
autocmd BufWritePre * if &binary | %!xxd -r | endif
autocmd BufWritePost * if &binary | silent %!xxd -g 1
autocmd BufWritePost * set nomod | endif
augroup END