All Projects → itchyny → Bed

itchyny / Bed

Licence: mit
Binary editor written in Go

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Bed

Wpfhexeditorcontrol
Wpf Hexeditor is a powerful and fully customisable user control for editing file or stream as hexadecimal, decimal and binary. Can be used in Wpf or WinForm application
Stars: ✭ 484 (-53.19%)
Mutual labels:  binary
Lambda Packages
Various popular python libraries, pre-compiled to be compatible with AWS Lambda
Stars: ✭ 713 (-31.04%)
Mutual labels:  binary
Goridge
High-performance PHP-to-Golang IPC bridge
Stars: ✭ 950 (-8.12%)
Mutual labels:  binary
Dark Mode
Control the macOS dark mode from the command-line
Stars: ✭ 518 (-49.9%)
Mutual labels:  binary
Pbf
A low-level, lightweight protocol buffers implementation in JavaScript.
Stars: ✭ 618 (-40.23%)
Mutual labels:  binary
Bits
A bite sized library for dealing with bytes.
Stars: ✭ 16 (-98.45%)
Mutual labels:  binary
Deta parser
快速中文分词分析word segmentation
Stars: ✭ 476 (-53.97%)
Mutual labels:  binary
Binary Hacking Course
📟Binary Hacking Course
Stars: ✭ 34 (-96.71%)
Mutual labels:  binary
Scodec
Scala combinator library for working with binary data
Stars: ✭ 709 (-31.43%)
Mutual labels:  binary
Ris
a simple cross-platform resource compiler for c++ projects
Stars: ✭ 15 (-98.55%)
Mutual labels:  binary
Nimble parsec
A simple and fast library for text-based parser combinators
Stars: ✭ 532 (-48.55%)
Mutual labels:  binary
Garble
Obfuscate Go builds
Stars: ✭ 617 (-40.33%)
Mutual labels:  binary
Frosty
serialize native Nim types to strings, streams, or sockets ⛄
Stars: ✭ 25 (-97.58%)
Mutual labels:  binary
Android interviews
🚀Everything you need to know to find a android job. 算法 / 面试题 / Android 知识点 🔥🔥🔥 总结不易,你的 star 是我最大的动力!
Stars: ✭ 510 (-50.68%)
Mutual labels:  binary
Hamming
Hamming distance and bit counting primitives in Go (golang)
Stars: ✭ 30 (-97.1%)
Mutual labels:  binary
Iguana
universal serialization engine
Stars: ✭ 481 (-53.48%)
Mutual labels:  binary
Binary.dart
Utilities for working with binary data and bit manipulation in Dart.
Stars: ✭ 16 (-98.45%)
Mutual labels:  binary
Construct Js
🛠️A library for creating byte level data structures.
Stars: ✭ 984 (-4.84%)
Mutual labels:  binary
Cfg Explorer
CFG explorer for binaries
Stars: ✭ 33 (-96.81%)
Mutual labels:  binary
Php Bitmap
Bitmap representation with bitwise operations
Stars: ✭ 7 (-99.32%)
Mutual labels:  binary

bed

CI Status Go Report Card MIT License release pkg.go.dev

Binary editor written in Go

Screenshot

bed command screenshot

Why?

Why not? Programming is so fun!

I learned so much while creating this editor; handling of file pointers, what the saying details should depend on abstractions mean, how to mock file system for tests in Go language, how to solve deadlock or race conditions between goroutines and many other things.

After all, creating by yourself is the best way to learn how it works.

Okay, but why?

I actually want a binary editor with Vim-like user interface, which runs in terminals, portable, fast and with window splitting feature. I think I started coding for what I want before doing research on existing editors.

Installation

Homebrew

brew install itchyny/tap/bed

Build from source

go get github.com/itchyny/bed/cmd/bed

Features

  • Basic editing: inserting, replacing, deleting bytes
  • Support for large files
  • Window splitting
  • Partial writing
  • Text searching

Note that this software is still in its early stage of development. Please refer to #1 for roadmap.

Commands and keyboard shortcuts

This binary editor is influenced by the Vim editor. So if you have experience with Vim, you will notice most of basic operations of Vim are supported with this binary editor too.

  • File operations
    • :edit, :enew, :new, :vnew, :only
  • Quit and save
    • :quit, :qall, :write, :wq, :xit, :xall, :cquit
  • Window operations
    • :wincmd [nolhkjtbpKJHL], <C-w>[nolhkjtbpKJHL]
  • Mode operations
    • i, I, a, A, R, <ESC>, v
  • Undo and redo
    • :undo, u, :redo, <C-r>
  • Moving cursor
    • :{count}, :{count}goto, :{count}%
  • Searching
    • /, ?, n, N, <C-c> (to abort)

Bug Tracker

Report bug at Issues・itchyny/bed - GitHub.

Author

itchyny (https://github.com/itchyny)

License

This software is released under the MIT License, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].