{"id":13495486,"url":"https://github.com/itchyny/bed","last_synced_at":"2025-05-14T19:05:56.941Z","repository":{"id":54608196,"uuid":"128839303","full_name":"itchyny/bed","owner":"itchyny","description":"Binary editor written in Go","archived":false,"fork":false,"pushed_at":"2024-12-01T09:01:15.000Z","size":708,"stargazers_count":1291,"open_issues_count":0,"forks_count":48,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-04-11T06:16:28.363Z","etag":null,"topics":["binary","golang","hex-editor"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itchyny.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-09T22:06:07.000Z","updated_at":"2025-04-01T17:30:48.000Z","dependencies_parsed_at":"2023-01-30T21:31:14.461Z","dependency_job_id":"772e2f70-2e2f-492e-821a-952c50ef3e86","html_url":"https://github.com/itchyny/bed","commit_stats":{"total_commits":830,"total_committers":6,"mean_commits":"138.33333333333334","dds":0.0734939759036145,"last_synced_commit":"7f1e7e7c0ecc7534666258b5c009eb461fe424ac"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itchyny%2Fbed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itchyny%2Fbed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itchyny%2Fbed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itchyny%2Fbed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itchyny","download_url":"https://codeload.github.com/itchyny/bed/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248351394,"owners_count":21089272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary","golang","hex-editor"],"created_at":"2024-07-31T19:01:35.225Z","updated_at":"2025-04-11T06:16:33.384Z","avatar_url":"https://github.com/itchyny.png","language":"Go","readme":"# bed\n[![CI Status](https://github.com/itchyny/bed/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/itchyny/bed/actions?query=branch:main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/itchyny/bed)](https://goreportcard.com/report/github.com/itchyny/bed)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/itchyny/bed/blob/main/LICENSE)\n[![release](https://img.shields.io/github/release/itchyny/bed/all.svg)](https://github.com/itchyny/bed/releases)\n[![pkg.go.dev](https://pkg.go.dev/badge/github.com/itchyny/bed)](https://pkg.go.dev/github.com/itchyny/bed)\n\nBinary editor written in Go\n\n## Screenshot\n![bed command screenshot](https://user-images.githubusercontent.com/375258/38499347-2f71306c-3c42-11e8-926e-1782b0bc73f3.png)\n\n## Motivation\nI wanted to create a binary editor with Vim-like user interface, which runs in terminals, fast, and is portable.\nI have always been interested in various binary formats and I wanted to create my own editor to handle them.\nI also wanted to learn how a binary editor can handle large files and allow users to edit them interactively.\n\nWhile creating this binary editor, I leaned a lot about programming in Go language.\nI spent a lot of time writing the core logic of buffer implementation of the editor.\nIt was a great learning experience for me and a lot of fun.\n\n## Installation\n### Homebrew\n\n```sh\nbrew install bed\n```\n\n### Build from source\n\n```bash\ngo install github.com/itchyny/bed/cmd/bed@latest\n```\n\n## Features\n\n- Basic byte editing\n- Large file support\n- Command line interface\n- Window splitting\n- Partial writing\n- Text searching\n- Undo and redo\n\n### Commands and keyboard shortcuts\nThis binary editor is influenced by the Vim editor.\n\n- File operations\n  - `:edit`, `:enew`, `:new`, `:vnew`, `:only`\n- Current working directory\n  - `:cd`, `:chdir`, `:pwd`\n- Quit and save\n  - `:quit`, `ZQ`, `:qall`, `:write`,\n    `:wq`, `ZZ`, `:xit`, `:xall`, `:cquit`\n- Window operations\n  - `:wincmd [nohjkltbpHJKL]`, `\u003cC-w\u003e[nohjkltbpHJKL]`\n- Cursor motions\n  - `h`, `j`, `k`, `l`, `w`, `b`, `^`, `0`, `$`,\n    `\u003cC-[fb]\u003e`, `\u003cC-[du]\u003e`, `\u003cC-[ey]\u003e`, `\u003cC-[np]\u003e`,\n    `G`, `gg`, `:{count}`, `:{count}goto`, `:{count}%`,\n    `H`, `M`, `L`, `zt`, `zz`, `z.`, `zb`, `z-`,\n    `\u003cTAB\u003e` (toggle focus between hex and text views)\n- Mode operations\n  - `i`, `I`, `a`, `A`, `v`, `r`, `R`, `\u003cESC\u003e`\n- Inspect and edit\n  - `gb` (binary), `gd` (decimal), `x` (delete), `X` (delete backward),\n    `d` (delete selection), `y` (copy selection), `p`, `P` (paste),\n    `\u003c` (left shift), `\u003e` (right shift), `\u003cC-a\u003e` (increment), `\u003cC-x\u003e` (decrement)\n- Undo and redo\n  - `:undo`, `u`, `:redo`, `\u003cC-r\u003e`\n- Search\n  - `/`, `?`, `n`, `N`, `\u003cC-c\u003e` (abort)\n\n## Bug Tracker\nReport bug at [Issues・itchyny/bed - GitHub](https://github.com/itchyny/bed/issues).\n\n## Author\nitchyny (\u003chttps://github.com/itchyny\u003e)\n\n## License\nThis software is released under the MIT License, see LICENSE.\n","funding_links":[],"categories":["Go","Utilities","Programming Languages","公用事业公司"],"sub_categories":["Utility/Miscellaneous","Go","实用程序/Miscellaneous"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitchyny%2Fbed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitchyny%2Fbed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitchyny%2Fbed/lists"}