notepad-- 编辑器使用指南:5分钟在 macOS 上完成配置,搞定跨平台中文文本编辑
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
notepad-- 是一款同时支持 Windows、Linux 与 macOS 的轻量级文本编辑器,主要解决两个实际问题:跨系统传递的文件出现中文乱码,以及非 Windows 系统上缺少好用的国产文本编辑工具。适合经常需要在 Windows 与 Mac、Linux 之间互发文件的开发者和文档处理人员。
从一个真实的痛点开始:拿到一份 GBK 编码的文件
你在 Windows 机器上写好一份中文说明或配置文件,发回 Mac 上打开,满屏问号或乱码。问题通常不在文件本身,而在编码:对方存成了 GBK,而你本地的编辑器按 UTF-8 去解码。
notepad-- 对此做了两层处理。第一层是自动识别:打开文件时先按 UTF-8 解析,解析不通再回退到 GBK 检查(识别逻辑就在 src/Encode.cpp),窗口右下角的状态栏会实时显示当前编码,例如 UTF-8、UTF-8-BOM 或 GBK,方便你确认编辑器到底在用哪种方式读取。第二层是手动兜底:状态栏显示不对时,打开"编码"菜单手动指定正确编码重新打开,再选择"编码转换"保存为 UTF-8。转换只改变存储编码,正文内容原样保留,回传给 Windows 同事也不会再出问题。
5 分钟从零配置:获取代码、构建、首次启动 🛠️
配置过程一共三步:
- 获取代码:用一条命令克隆仓库
git clone https://gitcode.com/GitHub_Trending/no/notepad--。 - 确认依赖:查看根目录的 CMakeLists.txt,要求 CMake 3.16 以上和一套完整的 Qt5 模块(Core、Gui、Widgets、Concurrent、Network、PrintSupport、XmlPatterns)。编辑器内核 QScintilla 已内置在 src/qscint/ 子目录中随项目一起编译,不需要额外安装。macOS 上用 Homebrew 装好 qt 和 cmake 即可开工。
- 构建运行:用 CMake 完成配置与构建,产出可执行程序。不想自己编译的话,也可以直接到发布页下载现成安装包,各版本的更新记录都在 changelog.txt 里。
首次启动后你会看到"文件、编辑、查找、视图、编码、语言、设置、对比"等菜单,后面几节就按这些任务逐一过一遍。构建默认会一并编译示例插件,代码位于 src/plugin/helloworld/,日后扩展功能可以直接照着改。
notepad-- 编辑器 macOS 主界面,菜单栏、工具栏与关于对话框中的版本及开源协议信息
在整个项目里快速定位内容:把目录查找用到位
单文件内搜索按 Ctrl+F(macOS 上对应 Cmd+F);要跨目录批量搜索,用查找对话框里的"在目录查找"页签。这个对话框的可用项比较全:
- 三种匹配模式:普通、扩展(\n、\t、\r、\x 等转义写法)、正则表达式;
- 范围控制:可以限定文件类型(例如
*.cpp、*.ui),开关"全词匹配"和"匹配大小写"; - 性能选项:跳过子目录、跳过隐藏文件、跳过二进制文件,以及跳过超过设定大小(默认 20 MB)的文件。
点"全部查找"后,底部结果面板按文件分组列出每条命中的路径和行号,双击任意一条就直接跳到对应位置。下图中一次搜索在 161 个文件里命中 989 处,结果全部可导航,找配置项、追调用点这类操作基本一次到位。
对比两个文件,把差异精确定位出来
需要核对两个版本的差别时,走"对比"菜单选择两个文件(也支持直接把两段文本粘贴进去对比,不用先落成文件)。文本模式下,发生变化的行会被不同颜色标出,窗口还支持按差异图浏览,能一眼看到改动集中在哪一段;二进制模式则高亮出字节级的差异区域。做代码审查、追踪一次提交改了什么,或者核对配置文件在两台机器上是否一致,用这个功能比肉眼逐行扫快得多。注意一点:如果两个文件一个用 CRLF、一个用 LF 换行,对比结果可能整行都是差异,先用编码菜单统一换行符再对比即可。
多文件管理与批量行操作
notepad-- 以标签页方式管理打开的文件,"New 0"是一个随手记事的空白标签。文件多时,可以用文件列表勾选后批量打开,避免一个个拖进窗口。
真正省事的是批量编辑。打开"编辑"菜单里的"行编辑"分组,能直接完成:复制当前行、删除连续的重复行、合并行、上移/下移行、移除空行、按大小写排序文本行等。配合列编辑(块编辑),还可以同时选中多行的同一列位置插入内容,比如给一批日志行统一加上列前缀,这类重复操作几秒钟就批完了。
避坑手册:四个常见现象的排查
| 现象 | 原因 | 解法 |
|---|---|---|
| 打开文件中文乱码 | 文件是 GBK 编码,被按 UTF-8 读取 | 状态栏确认当前编码,在编码菜单手动选 GBK 重新打开,再转换保存为 UTF-8 |
| 超大日志文件打开卡死 | 默认整体加载进内存 | 打开时改走"大文件"模式,分块读取且仍显示行号 |
| 对比结果每一行都不同 | 两侧换行符不一致(CRLF 对 LF) | 先在编码菜单统一换行格式,再重新对比 |
| 查找命中比预期少 | 开启了全词匹配或匹配大小写 | 检查查找对话框右侧的选项区,按需取消勾选 |
开始用之前的自查清单
- 状态栏显示的编码是否和文件真实编码一致,尤其处理 Windows 传过来的文件时;
- 是否挑好了默认外观:界面样式文件在 src/qss/,语言配色方案有十几套,位于 src/themes/;
- 是否记住了三件事:Ctrl+F 单文件查找、目录查找页签跨项目搜索、F2 快速切换书签;
- 打开 GB 级日志前先切到"大文件"模式;
- 想加自定义功能时,先读一遍 src/plugin/helloworld/ 里的最小插件示例,照着改最快。
把上面这几项过一遍,日常处理中文文档和代码就基本不会再被乱码和重复操作卡住了。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考