21 岁理工男开源的这个编辑器火了,登上GitHub 热榜:

325次阅读  |  发布于3年以前

最近在 GitHub 上最火的项目是一个对视力友好的十六进制编辑器,它上线仅 5 天就收获了 2500 star,最近 24 小时涨了 1600 star 量。

十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用。

常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容。十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据,并用较为友好的界面来编辑二进制数据。对于需要处理二进制数据的用户,它非常受欢迎,例如使用十六进制编辑器可以更改游戏中的部分设置。

常用的十六进制编辑器有 Bless Hex Editor、GNOME Hex Editor、Okteta 等。和大多数编辑器一样,人们对于十六进制编辑器的要求包括功能强大、可定制性、界面美观。近日,GitHub 上开源了一款名为 ImHex 的十六进制编辑器,上线 5 天,狂揽 2500 star。

项目地址:https://github.com/WerWolv/ImHex

十六进制编辑器 ImHex

项目作者在 readme 文件中首先介绍了 ImHex 编辑器实现的功能特性。

特征

界面美观

每款编辑器都有自己的风格,越来越多的开发者青睐于黑色背景、彩色高亮显示的界面风格,ImHex 就是如此:

编译

假设你在 Windows 或者 Arch Linux 中使用 mingw,需要兼容 C++20 的编辑器(例如 GCC 10.2.0)来编译 ImHex。编译 ImHex 需要的库都可以在 pacman 包中找到,如下所示:

GLFW3                                             ( (sudo) pacman -S glfw )
libmagic, libgnurx, libtre, libintl, libiconv     ( (sudo) pacman -S file )
libcrypto                                         ( (sudo) pacman -S openssl )
capstone                                          ( (sudo) pacman -S capstone )
libLLVMDemangle                                   ( (sudo) pacman -S llvm llvm-libs )
nlohmann json                                     ( (sudo) pacman -S nlohmann-json )
Python3                                           ( (sudo) pacman -S python3 )
All in one for Arch Linux: sudo pacman -S glfw file openssl capstone llvm llvm-libs nlohmann-json python3
All in one for Fedora: sudo dnf install cmake gcc-c++ capstone-devel glfw-devel glm-devel json-devel llvm-devel mesa-libGL-devel openssl-devel python-devel
All in one for MinGW: pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cm

安装完这些库之后,运行以下命令来构建 ImHex:

mkdir build
cd build
cmake ..
make -j

该项目的作者 WerWolv 来自瑞士,今年仅 21 岁,是一名在读本科生。

参考链接:

https://zhuanlan.zhihu.com/p/59119723

https://www.howtoing.com/best-hex-editors-for-linux

如果刷题还是建议去Leetcode刷。除此之外,这里再跟大家推荐一本前不久火爆 GitHub 的 LeetCode 中文刷题手册:LeetCode Cookbook。GitHub:https://github.com/halfrost/LeetCode-Go

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8