定义
MadEdit 是一款开源、跨平台的文本与十六进制编辑器,采用 C++ 与 wxWidgets 编写,以 GNU 通用公共许可证发布,源码由 SourceForge 托管。[1][3] 它同时具备纯文本编辑与二进制编辑两种能力,可在文本、列块和十六进制 3 种模式下操作文件。[1] 与一般记事本类工具相比,它的特点集中在对多国字符编码的处理以及对超大文件的读取上。
按照官方描述,MadEdit 可在 Linux、FreeBSD 以及微软 Windows 平台下运行,支持语法高亮、自动换行、编码转换与字数统计等功能。[4][5]
原理
MadEdit 的界面与控件基于 wxWidgets 跨平台图形库构建,因此同一套源码可以编译到不同操作系统之上。[1][6] 在十六进制模式下,它按 $INT_MAX \times 16$ 的方式计算可寻址范围,从而支持打开最大 32GB 的文件。[3]
在字符编码方面,MadEdit 允许用户在编辑过程中随时切换文件编码,方式类似浏览器切换网页字符集。[3] 它支持的编码包括 UTF-8、带小端或大端的 UTF-16 与 UTF-32、Big5、GBK、S-JIS 等,并支持 Unicode CJK 扩展 B 区字符。 若输入的字符不被当前编码支持,程序会把它转写为 U+XXXX 形式的 Unicode 码位标记,以便字符信息不被丢弃并可后续还原。[3] 正则表达式的查找与替换由 Boost.Xpressive 库实现。[3]
发展历程
MadEdit 的早期版本在 2006 年前后陆续发布,2006 年 3 月 16 日推出的 v0.2.3 增加了全角与半角转换、字数统计、插入日期时间等功能,并改善了含 U+10000 至 U+10FFFF 宽字符文件的加载速度。[7] 该软件在 2007 年 8 月 6 日被加入 FreeBSD 的 ports 集合,当时被描述为功能上类似 UltraEdit 的开源十六进制与文本编辑器。[1]
2009 年 2 月,MadEdit 发布 0.2.9.1,这也是该项目原作者的最后一个版本;此后原项目不再更新。[2] 由于上游长期停更,出现了第三方接手的分支项目,其中 MadEdit-Mod 由 Li Minggang 在原有代码基础上继续发布更新,据维基百科记载其 0.4.20 版发布于 2023 年 6 月。[6] 另一个后续项目 wxMEdit 同样定位为跨平台文本与十六进制编辑器,并自述为 MadEdit 停更后的改进版。[8]
在发行版维护层面,FreeBSD 的 madedit port 于 2022 年 12 月 31 日被删除,理由是项目已被放弃且依赖的 wxgtk28 工具包已废弃。[1]
应用
MadEdit 主要用于需要处理多种字符编码的文本编辑场景,例如在文件编码不变的前提下转换日文汉字、简体汉字与繁体汉字的书写形式,用于整理不同书写体系的文本资料。[9] 它的十六进制模式可用于查看和修改二进制文件的内容。[1]
在代码编辑方面,MadEdit 内置多种编程语言的语法高亮方案,涵盖 awk、C/C++、C#、CSS、diff/patch、DOS 批处理脚本、Fortran、HTML、Java、JavaScript、JSP、Lua、Pascal、PHP、Perl、Python、Ruby、SQL、UNIX Shell 脚本、Verilog、VHDL、x86 汇编与 XML 等。[4] 它支持在同一实例中以分页方式打开多个文件,并在微软 Windows 平台下查看由 ASCII 字符拼成的图形文件。 后续的 MadEdit-Mod 还加入了嵌入式 Python 宏、Markdown 与 HTML 预览、代码格式化等功能。[6]
局限
MadEdit 原项目在 2009 年停止开发,长期缺少官方维护,这使它在新的操作系统与依赖库环境下容易遇到兼容性问题。[2][1] 有评测指出,早期版本仍存在较多缺陷,作为开源软件却未内建宏、插件等扩展机制,也不支持调用外部工具,且缺少开发文档。[9]
在发行版打包层面,MadEdit 因依赖已废弃的 wxgtk28 而在 FreeBSD 上被移除,说明其技术栈的更新滞后会影响可用性。[1] 此外,MadEdit-Mod 的发布说明提到,自 2.9.1 起单实例机制的实现发生变化,与 2.8.x 版本不兼容,两者同时运行可能导致行为异常;部分语言翻译也未完成。[6]
参见
-
wxWidgets —— MadEdit 图形界面所依赖的跨平台控件库。
-
十六进制编辑器 —— MadEdit 除文本编辑外所提供的另一类核心功能。
-
字符编码 —— 决定 MadEdit 多编码支持与转码能力的基础概念。
-
Unicode —— MadEdit 支持 UTF-8、UTF-16、UTF-32 及 CJK 扩展 B 区所依据的字符集标准。
-
SourceForge —— MadEdit 原项目的代码与版本托管平台。
参考资料
- madedit [引用日期2026-10-14]
- MadEdit: Open-Source and Cross-Platform [引用日期2026-10-14]
- Debian Bug report logs - #403759 ITP: madedit -- Text editor [引用日期2026-10-14]
- 文本编辑器 MadEdit [引用日期2026-10-14]
- PortableApps.com的MadEdit替代品 — Altapps.net [引用日期2026-10-14]
- madedit-mod [引用日期2026-10-14]
- MadEdit News [引用日期2026-10-14]
- GitHub topics: madedit [引用日期2026-10-14]
- 【MadEdit怎么用】MadEdit好不好_使用技巧-ZOL软件百科 [引用日期2026-10-14]