Notepad--:被 GBK 乱码和文件对比逼疯的人,换这个跨平台编辑器就对了
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
在 Windows 上写好的文档,拷到 Linux 打开全是乱码;想核对两个版本的文件差在哪,只能开两个窗口肉眼逐行找。如果你也常被这些小事反复折腾,这款国产跨平台文本编辑器 Notepad--,值得花十分钟认真看看。
没有统一编辑器之前,我的日常有多拧巴
我的工作环境很分裂:Windows 上写接口文档,Linux 服务器上改脚本,macOS 上做演示。三个系统,我被迫装了三个编辑器,于是每天都在上演同一出戏——快捷键记混,缩进风格不一样,最要命的是编码。
有一次从同事的 Windows 机器拷来一个 GBK 编码的老配置文件,我随手打开,满屏的"锟斤拷"。那一刻我才意识到,乱码不是偶然,是我天天要过的坎。更别提版本对比了:改完一版代码,被问"这次到底动了哪些行",我只能开两个窗口并排,一行一行用眼睛扫。几十个文件要批量替换关键词时,我甚至得临时写脚本。
这些事单看都不大,但叠加在一起,每天都在消耗我。
跟着一条工作流,我把这些麻烦一个个摁下去
后来我把它们都收进 Notepad-- 这一个窗口里,顺着日常处理文件的顺序,问题逐个消失。
先解决最扎心的编码问题:乱码文件原样打开,一键转码
装上 Notepad-- 后,我做的第一件事就是重新打开那个 GBK 配置文件——没有再乱码,内容原样呈现。想统一成 UTF-8 时,在编码转换菜单里点一下就行,整个工程的文件都能一起处理,相关实现就在 src/encodeconvert.cpp,感兴趣的可以翻翻。
窗口上方是标签页,几个文件同时开着互不干扰,改到一半切去查资料也不丢位置。

两个版本的文件,几步就能看出每一处差异
最让我省心的是文件对比:左右分栏,两边各开一个版本,有差异的行直接高亮标出来,改没改、改在哪,一眼就清楚。以前要花十分钟的核对,现在几秒钟扫完。

这个功能我现在用得最勤——代码改版回滚前核对、给客户同步配置文件前自检,全靠它兜底。核心逻辑在 src/CmpareMode.cpp。
收尾的批量替换和十六进制查看,也在这一个窗口里完成
对比完要动手改的时候,批量查找替换派上了用场:几十个文件、几百处关键词,一次替换完,结果面板列出每次命中,改错了能马上定位回去,比写脚本踏实。
偶尔还会碰上结构不明的二进制文件,比如从设备里导出的数据。这时切到十六进制视图,字节和 ASCII 对照着看,文件尾缀和数据结构都能摸出个大概,入口在 src/scintillahexeditview.cpp。
同样是编辑器,它凭什么让人换得心甘情愿
说回它最打动我的一点:跨平台的一致性。快捷键、配置、操作习惯,在 Windows、Linux、macOS 上完全统一,连国产信创 UOS 也能跑。从"每台机器重新学一套"变成"坐到哪台机器前都是同一套手感",这个体验差异,用过就回不去了。
而且它轻量、开源,还留了插件口子(src/plugin/ 里就有 hello world 示例),想要什么能力可以自己加。对普通用户来说,这些可能一时用不上,但"这软件是开放的、还在持续迭代"这件事本身,就让人用得放心。
想上手?照着这几步来
clone 一份源码回来,按自己的平台编译,几分钟就能跑起来:
git clone https://gitcode.com/GitHub_Trending/no/notepad--
不想折腾编译,直接用现成安装包也完全可以。上手建议就三步:先打开一个曾经乱码的老文件看看编码转换,再用文件对比核对一次改版,最后试一把批量替换——这三关过了,基本就离不开了。
遇到问题别憋着,直接在项目里提 issue,中文交流没有门槛,作者也在持续更新。
结尾
以前我在三台电脑之间来回折腾,现在无论坐到哪台机器前,打开的都是一样的 Notepad--。工具的意义大概就是这样:让你忘了工具本身,专心做手头的事。而它,值得你换一次。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考