news 2026/9/16 15:44:19

notepad-- 编辑器使用指南:5分钟在 macOS 上完成配置,搞定跨平台中文文本编辑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
notepad-- 编辑器使用指南:5分钟在 macOS 上完成配置,搞定跨平台中文文本编辑

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 分钟从零配置:获取代码、构建、首次启动 🛠️

配置过程一共三步:

  1. 获取代码:用一条命令克隆仓库git clone https://gitcode.com/GitHub_Trending/no/notepad--
  2. 确认依赖:查看根目录的 CMakeLists.txt,要求 CMake 3.16 以上和一套完整的 Qt5 模块(Core、Gui、Widgets、Concurrent、Network、PrintSupport、XmlPatterns)。编辑器内核 QScintilla 已内置在 src/qscint/ 子目录中随项目一起编译,不需要额外安装。macOS 上用 Homebrew 装好 qt 和 cmake 即可开工。
  3. 构建运行:用 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 15:43:59

Springboot+Vue智能推荐卫生健康系统设计与部署实践指南

作为一名带过不少毕业设计、也帮人排查过无数SpringbootVue项目的过来人,我第一眼看到“基于SpringbootVue的智能推荐的卫生健康系统源码文档部署文档代码讲解等”这个标题,就知道这又是个典型的全栈“大综合”项目。这类项目在高校毕业设计、课程设计里…

作者头像 李华
网站建设 2026/9/16 15:43:04

Android Auto认证全链路合规指南:从硬件选型到GMS授权

1. 项目概述:这不是一次简单的“打勾”,而是整车电子电气架构的合规性大考Android Auto 认证,业内常简称为 AA 认证,绝非在车载信息娱乐系统(IVI)上装个 APK、连上手机点几下就能通过的“功能演示”。它是一…

作者头像 李华
网站建设 2026/9/16 15:42:22

DeepSeek Harness:轻量级AI服务编排框架实战指南

1. 项目概述:这不是一个“安装包”,而是一套可嵌入、可扩展的AI能力调度中枢DeepSeek Harness 这个名字里,“Harness”是关键词——它不是指某个具体软件,而是“驾驭、整合、调度”的动作本身。我第一次看到这个名字时也以为是个桌…

作者头像 李华
网站建设 2026/9/16 15:41:37

微信小程序社区养老系统为何首选SSM架构

简介:本资源是一套完整的社区养老服务微信小程序毕业设计/课程设计项目源码,面向Java初学者与Web开发学习者,聚焦SSM框架实战与小程序前后端协同开发场景。项目以解决社区养老信息互通、服务预约与邻里互助等现实需求为目标,涵盖信…

作者头像 李华
网站建设 2026/9/16 15:40:05

BLE 5.1 远距离通信实战:NINA-B416与R7KA8D2KFLCAC组合实现1.2km稳定链路

1. 项目概述:为什么远距离 BLE 5.1 不再是“理论参数”,而成了可落地的工程现实我第一次在工业巡检现场看到 NINA-B416 模块把 BLE 信号稳定传到 820 米开外时,手里的万用表差点掉地上——不是因为惊讶,而是因为终于不用再跟客户解…

作者头像 李华