Binary editor written in Go

I wanted to create a binary editor with Vim-like user interface, which runs in terminals, fast, and is portable. I have always been interested in various binary formats and I wanted to create my own editor to handle them. I also wanted to learn how a binary editor can handle large files and allow users to edit them interactively.
While creating this binary editor, I leaned a lot about programming in Go language. I spent a lot of time writing the core logic of buffer implementation of the editor. It was a great learning experience for me and a lot of fun.
brew install bed
go install github.com/itchyny/bed/cmd/bed@latest
This binary editor is influenced by the Vim editor.
:edit, :enew, :new, :vnew, :only:cd, :chdir, :pwd:quit, ZQ, :qall, :write,
:wq, ZZ, :xit, :xall, :cquit:wincmd [nohjkltbpHJKL], <C-w>[nohjkltbpHJKL]h, j, k, l, w, b, ^, 0, $,
<C-[fb]>, <C-[du]>, <C-[ey]>, <C-[np]>,
G, gg, :{count}, :{count}goto, :{count}%,
H, M, L, zt, zz, z., zb, z-,
<TAB> (toggle focus between hex and text views)i, I, a, A, v, r, R, <ESC>gb (binary), gd (decimal), x (delete), X (delete backward),
d (delete selection), y (copy selection), p, P (paste),
< (left shift), > (right shift), <C-a> (increment), <C-x> (decrement):undo, u, :redo, <C-r>/, ?, n, N, <C-c> (abort)Report bug at Issues・itchyny/bed - GitHub.
itchyny (https://github.com/itchyny)
This software is released under the MIT License, see LICENSE.
52,081 followers · starred Apr 2018
1,165 followers · starred Apr 2018
176 followers · starred Apr 2018
260 followers · starred Feb 2020
Go
99.5%
Binary editor written in Go

I wanted to create a binary editor with Vim-like user interface, which runs in terminals, fast, and is portable. I have always been interested in various binary formats and I wanted to create my own editor to handle them. I also wanted to learn how a binary editor can handle large files and allow users to edit them interactively.
While creating this binary editor, I leaned a lot about programming in Go language. I spent a lot of time writing the core logic of buffer implementation of the editor. It was a great learning experience for me and a lot of fun.
brew install bed
go install github.com/itchyny/bed/cmd/bed@latest
This binary editor is influenced by the Vim editor.
:edit, :enew, :new, :vnew, :only:cd, :chdir, :pwd:quit, ZQ, :qall, :write,
:wq, ZZ, :xit, :xall, :cquit:wincmd [nohjkltbpHJKL], <C-w>[nohjkltbpHJKL]h, j, k, l, w, b, ^, 0, $,
<C-[fb]>, <C-[du]>, <C-[ey]>, <C-[np]>,
G, gg, :{count}, :{count}goto, :{count}%,
H, M, L, zt, zz, z., zb, z-,
<TAB> (toggle focus between hex and text views)i, I, a, A, v, r, R, <ESC>gb (binary), gd (decimal), x (delete), X (delete backward),
d (delete selection), y (copy selection), p, P (paste),
< (left shift), > (right shift), <C-a> (increment), <C-x> (decrement):undo, u, :redo, <C-r>/, ?, n, N, <C-c> (abort)Report bug at Issues・itchyny/bed - GitHub.
itchyny (https://github.com/itchyny)
This software is released under the MIT License, see LICENSE.
52,081 followers · starred Apr 2018
1,165 followers · starred Apr 2018
176 followers · starred Apr 2018
260 followers · starred Feb 2020
Go
99.5%