10个版本 (5个破坏性更新)
新版本 0.6.1 | 2024年8月20日 |
---|---|
0.6.0 | 2024年7月31日 |
0.5.0 | 2024年4月8日 |
0.4.1 | 2023年7月31日 |
0.1.1 | 2022年8月8日 |
33 在 文本编辑器 中
每月382次 下载
150KB
2.5K SLoC
heh
HEx Helper 是一个跨平台终端 十六进制编辑器,用于修改文件的十六进制或ASCII数据。它旨在复制 hexyl 的一些外观,同时功能上类似于 GHex 的终端UI版本。
[!警告] heh 目前处于 alpha 阶段 - 它尚未准备好用于任何生产方式。它缺少各种生活质量特性,并且在崩溃或被终止时不会存储备份。
安装和用法
heh 通过 cargo 提供
cargo install heh
从 heh --help
...
Terminal UI Commands:
ALT= Increase the stream length by 1
ALT- Decrease the stream length by 1
CNTRLs Save
CNTRLq Quit
CNTRLj Jump to Byte
CNTRLe Change endianness
CNTRLd Page Down
CNTRLu Page Up
CNTRLf or / Search
CNTRLn or Enter Next Search Match
CNTRLp Prev Search Match
Left-clicking on a label will copy the contents to the clipboard.
Left-clicking on the ASCII or hex table will focus it.
Zooming in and out will change the size of the components.
USAGE:
heh <FILE>
ARGS:
<FILE>
OPTIONS:
-h, --help
Print help information
-V, --version
Print version information
发行版软件包
如果您的发行版已打包 heh
,您可以使用该软件包进行安装。
Arch Linux
pacman -S heh
Alpine Linux
heh
可在 Alpine Edge 上使用。在启用 测试仓库 之后,可以通过 apk 安装。
apk add heh
作为 Ratatui 小部件使用
heh
可作为库嵌入到使用 Ratatui 和 crossterm 的其他 TUI 应用程序中。
在 Cargo.toml
中添加 heh
[dependencies]
ratatui = "0.24"
crossterm = "0.27"
heh = "0.4"
创建应用程序
use heh::app::Application as Heh;
use heh::decoder::Encoding;
let file = std::fs::OpenOptions::new().read(true).write(true).open(path).unwrap();
let heh = Heh::new(file, Encoding::Ascii, 0).unwrap();
然后您可以按如下方式渲染一个框架
terminal.draw(|frame| {
heh.render_frame(frame, frame.size());
});
处理按键事件
heh.handle_input(&ratatui::crossterm::event::Event::Key(/* */)).unwrap();
请参阅 binsider 项目以获取示例用法。
贡献
请参阅 CONTRIBUTING.md。
依赖关系
~8–23MB
~286K SLoC