バイナリエディタ

バイナリファイルの編集ですが、vimを使用するのが楽です。やり方は簡単で、バイナリモードで開いて、
$ vi -b hoge.txt

16進数ダンプ形式に変換
:%!xxd

これだけで自由に編集可能になります。編集がすんだら、
:%!xxd -r
で、元に戻す。と。

便利ですね。ですが、このステップだけでもめんどくさいです。めんどくさいと思う人は多いようで、調べてみると、ありました。

augroup Binary
	autocmd!
	autocmd BufReadPre  *.bin let &binary = 1
	autocmd BufReadPost * call BinReadPost()
	autocmd BufWritePre * call BinWritePre()
	autocmd BufWritePost * call BinWritePost()
	function! BinReadPost()
		if &binary
			silent %!xxd -g1
			set ft=xxd
		endif
	endfunction
	function! BinWritePre()
		if &binary
			let s:saved_pos = getpos( '.' )
			silent %!xxd -r
		endif
	endfunction
	function! BinWritePost()
		if &binary
			silent %!xxd -g1
			call setpos( '.', s:saved_pos )
			set nomod
		endif
	endfunction
augroup END

これで、バイナリモードで開くと、自動的にダンプとテキスト表示してくれます。

参考: