notepad-- 完整指南:跨平台文本编辑器的文件对比、批量替换与乱码处理
2026/9/17 16:45:04 网站建设 项目流程

notepad-- 完整指南:跨平台文本编辑器的文件对比、批量替换与乱码处理

【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--

写中文文档在 Windows 上正常,拷到 Linux 同事机器上打开全是乱码;想在一个项目里把某个变量名统一改掉,只能一个一个文件手动替换。notepad-- 是一款支持 Windows / Linux / macOS 的跨平台文本编辑器,内置文件对比、跨目录批量查找替换和 GBK / UTF-8 编码切换,代码开源免费,用 C++/Qt 编写。这篇文章带你从克隆源码、编译运行开始,讲清楚它最值得用的几个功能怎么用。

👀 一眼看懂:谁适合用它

这一章用一张表回答"我到底需不需要它"。

你的情况notepad-- 对应的功能
文件要在 Windows 和 Linux 之间互传,经常遇到编码乱码编码菜单内置 GBK、UTF-8、UTF-8 BOM、Big5 等格式,打开后一键互相转换
需要审查两个文件改了什么(配置变更、代码版本差异)对比菜单提供文件对比、目录对比、二进制对比,差异高亮显示
要在整个项目目录里统一改一个词目录查找对话框支持普通、正则两种模式,先查后换
编辑 XML、JSON 配置文件嫌排版乱工具菜单内置"格式 XML / 格式 JSON",一键整理缩进
参与 Qt 软件国际化,需要维护 .ts 翻译文件翻译条目按文件分行显示,未翻译条目有类型标记
想给编辑器加自己的功能提供 C++/Qt 插件框架,仓库里自带 helloworld 示例

⚙️ 装起来跑起来:5 分钟克隆并编译 notepad--

这一章解决"从源码到能用"的问题。编译需要 CMake 3.16 以上和 Qt5 开发库(Core、Gui、Widgets、Concurrent、Network、PrintSupport、XmlPatterns),编辑器内核 qscintilla 已包含在仓库 src/qscint/ 里,不需要额外下载。

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad--
  1. 配置并编译(以 Linux 为例,Windows 下同样用 CMake 配置后在 Visual Studio 中打开构建):
cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j
  1. 首次启动后做三项基础设置:
    • 语言:在【语言】菜单选择简体中文,重启后生效;
    • 编码:打开文件后看状态栏右侧的编码标识,在【编码】菜单里把 GBK、UTF-8、UTF-8 BOM 之间切换,乱码消失即说明选对了格式;
    • 外观:在【设置】菜单切换深色或浅色主题,语法配色在【语言】菜单下按字母分类选择。

📋 文件对比:3 步高亮两个版本的差异

这一章解决"两个文件到底改了什么"的问题。

什么时候用:合并代码前审查改动、配置发版前后核对、两个导出文件做一致性检查。它不只支持单文件,还有目录对比(整个文件夹递归比对)和二进制对比两种模式。

怎么操作

  1. 用【文件】→【打开】把两个文件都打开,形成两个标签页;
  2. 点菜单栏【对比(C)】→【文件对比】。也可以更快:在任意标签页上右键,先选"Select Left Cmp File"再选"Select Right Cmp File",编辑器会自动替你选齐左右两个文件并直接打开对比视图;
  3. 差异行会用不同底色区分新增、删除和修改,可以逐块查看。

注意点:对比时左右文件的先后顺序会影响"新增/删除"的判定方向,先看左侧内容再选右侧内容,结果更直观。对比二进制文件(如压缩包、图片)请改用二进制对比,不要走文本模式。

🔍 批量查找替换:一个对话框改遍整个目录

这一章解决"改一个词要翻几十个文件"的问题。

什么时候用:项目里统一修改 API 名称、批量修正拼错的字符串、更新多份配置文件里的同一个参数。

怎么操作

  1. 按 Ctrl+Shift+D,或点【查找(S)】菜单里的目录查找项,打开"查找与替换"对话框;
  2. 设置目标目录,勾选"文件类型"并填入过滤规则(如*.cpp*.ui),输入查找目标;
  3. 先点"全部查找"。底部结果窗格会按文件分组列出命中位置,逐行标注行号,双击即可跳转,确认没伤及无关内容;
  4. 确认无误后再填"替换为",执行在文件中替换。

注意点:查找模式分普通和正则两种,正则模式下特殊字符要记得转义;"全词匹配""匹配大小写"两个选项决定了命中范围,替换前建议再预览一次。选项区还允许跳过子目录、跳过隐藏文件、跳过二进制文件,以及设置跳过超过指定大小的文件(默认 20 MB),防止超大文件拖慢搜索。

📄 多格式文件支持:代码、XML、JSON 与翻译文件

这一章解决"打开不同格式的文件,编辑器能不能看懂"的问题。

什么时候用

  • 代码文件:内置 40 多种语言的高亮与折叠,C/C++、Java、Python、JavaScript、Go、Rust、SQL、YAML 等都能自动识别。折叠用 Alt+1 到 Alt+8 按层级收起,Alt+数字按层展开;
  • XML / JSON:【工具】菜单下有"格式 XML"和"格式 JSON",一键整理缩进和换行,适合处理手写或导出的配置;
  • 翻译文件(.ts):打开 Qt 的 .ts 翻译文件后,条目按源码位置组织,translation 行带类型标记,unfinished状态一眼可见,方便定位漏翻的条目(本仓库的 realcompare_zh.ts 就是这样的文件);
  • 纯文本与二进制:右键标签页可在文本模式和十六进制模式之间重载同一个文件,二进制内容也能查看和对比。

注意点:语法语言列表在【语言】菜单下按首字母分类,如果某种文件高亮不对,手动选一次对应语言即可。

⚡ 效率:快捷键、大文件与插件入口

这一章把提升日常效率的几个零散功能放在一起讲。

自定义快捷键:【设置(T)】菜单进入快捷键管理,常用默认值有——查找 Ctrl+F、替换 Ctrl+H、目录查找 Ctrl+Shift+D、关闭 Ctrl+W、行折叠 Alt+1~8、行注释 Ctrl+Q、块注释 Ctrl+K。任意一项都可以改成自己的组合键。

大文件:打开超大文件时,编辑器会询问处理方式并提示大文件模式——大文件按块加载,只把需要的部分读进内存,滚动和定位不受全文档大小拖累。处理日志这类不断增长的文件时建议直接以大文件方式打开。

插件开发:想扩展功能可以看 src/plugin/helloworld/ 下的示例插件,主 CMakeLists.txt 里已经包含了对应的编译入口,照着这个结构写一个新的导出接口文件,编译后放入插件目录即可被加载。插件机制的实现代码在 src/pluginmgr.cpp,从它入手能看懂加载流程。

❓ 问答:乱码、插件、启动与内存

这一章集中回答最常见的几类问题。

问题可能原因解决办法
打开文件中文乱码编码格式与实际不符在【编码】菜单逐个切换 GBK / UTF-8 / UTF-8 BOM,状态栏会实时反馈;确认后可转存为新编码
换行符不对(整段挤成一行)CRLF / LF 不一致【编码】菜单下可转换为 Windows CR LF、Unix LF 或 Mac CR
插件不生效插件与当前版本不匹配,或没放进插件目录检查插件编译时对应的主程序版本,确认导出文件在插件目录下
启动偏慢最近文件列表过长、上次会话打开文件多清理【文件】→ 最近文件列表,或减少会话恢复的文件数
内存占用高打开了超大文档或多个文档用大文件方式打开超大文件;不用的标签页用 Ctrl+W 关掉

另外几条性能建议:

  1. 复杂高亮语言(如含大量正则的规则)在超大文件中会拖慢滚动,必要时切到纯文本显示;
  2. 用 Alt+数字 折叠不看的代码块,减少渲染负担;
  3. 批量查找时把"跳过超过大小的文件"阈值调小,避免个别大文件拖慢整体搜索;
  4. 长期不用的标签页及时关闭,编辑器是按标签页管理文档内存的。

🤝 参与与学习

notepad-- 是完全开源的,欢迎提交 Issue 反馈问题、贡献代码、完善文档,或在 Windows / Linux / macOS / UOS 等不同环境上做兼容性测试。学习入口:

  • 插件示例:src/plugin/helloworld/
  • 插件加载机制:src/pluginmgr.cpp
  • 语法配色主题:src/themes/
  • 界面样式表:src/qss/
  • 编辑器内核文档:src/qscint/doc/
  • 版本变更记录:changelog.txt

【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询