Notepad-- 跨平台文本编辑器上手指南:3个核心场景+避坑清单
2026/9/17 20:28:31 网站建设 项目流程

Notepad-- 跨平台文本编辑器上手指南:3个核心场景+避坑清单

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

你从旧运维机器上拷回一个 GBK 编码的配置文件目录,打开全是问号;新旧两版配置到底改了哪几行,靠肉眼对不干净。Notepad-- 是一款国产的轻量级跨平台文本编辑器,C++/Qt5 编写,Windows、Linux、macOS 都能跑,把"编码转换、文件对比、批量搜索"这三件事做进了一个编辑器里。

📋 10秒速览:Notepad-- 适不适合你

项目说明
是什么带语法高亮、文件差异对比、编码转换的轻量文本编辑器,支持插件扩展,定位是 Notepad 类工具的跨平台替代
支持平台Windows / Linux / macOS,README 中特别提到国产 UOS 系统的适配
技术栈C++ + Qt5 + Scintilla 编辑引擎(Scintilla 是 Notepad++ 同源的那种文本编辑内核)
谁该用它经常处理中文乱码、需要做文件/目录对比、想要多开标签又不想用重型 IDE 的开发者

🖥️ 在 Windows、Linux、macOS 上构建并运行

仓库根目录的 CMakeLists.txt 是统一入口,要求 CMake ≥ 3.16 和 Qt5,qscint(QScintilla 封装层)会被自动作为子目录一起编译,不用你单独跑 qmake。

在 Windows 上用 win.mk 一条 make 编译

git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- # 先编辑 win.mk,把顶部的 Qt 与编译器路径改成你的安装位置 make -f win.mk mingw # 可执行文件在 build/bin/,windeployqt 依赖部署已自动完成

用 MSVC 工具链的话把最后一句换成make -f win.mk msvc即可。

在 Linux 上直接 cmake 出可执行文件

git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- sudo apt install cmake qtbase5-dev qt5-default # Ubuntu/Debian 示例 cmake -Bbuild -DCMAKE_BUILD_TYPE=Release cmake --build build -j4 ./build/NotePad--

想打包的话,CMake 里已带 deb 打包配置(见 cmake/deb_package_config.cmake),构建完执行 cpack 就能出 .deb 安装包。

在 macOS 上指定 Qt 前缀构建

git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- brew install cmake qt@5 cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt@5) cmake --build build && ./build/NotePad--

跑起来后就是多标签编辑界面,每个标签页可独立设置编码和语言模式:

🛠️ 三个最能打的工作场景

把一个目录的 GBK 文件批量转成 UTF-8

你会遇到什么:老系统导出的 .bat、.ini 或旧代码,整目录都是 GBK,手动一个个转不现实。

用它哪个功能:批量编码转换(源码在 src/encodeconvert.cpp),底层靠DetectEncode逐文件探测编码。

具体怎么操作

  1. 从顶部菜单栏「编码」进入批量编码转换窗口
  2. 选择目标目录,点击扫描,工具自动列出每个文件检测到的编码
  3. 选择目标编码(如 UTF-8),确认无误后点击开始转换
  4. 转换走多线程,等待完成即可

得到什么结果:整个目录一次性转码完成,再打开就是正常中文,不用再碰单个文件。

对比文件差异,找出两个版本改了什么

你会遇到什么:发版前要对两份配置(或两份源码)做回归确认,靠 diff 命令行又没法可视化看。

用它哪个功能:顶层菜单「对比」,支持文本行级差异、目录结构对比,二进制文件也能做十六进制比较(单文件上限 10MB,见 src/CmpareMode.h 中的MAX_BIN_SIZE)。

具体怎么操作

  1. 打开「对比」,把左右两个文件拖入窗口
  2. 差异行直接高亮,用工具栏按钮逐个差异跳转
  3. 对比目录时选择两个根目录,按文件结构列出增减与改动
  4. 二进制文件改选十六进制模式进入字节级视图

得到什么结果:哪个文件、哪一行、改了什么,一眼定位,不用再手动 scroll 两边屏幕。

整个目录的批量搜索替换

你会遇到什么:重构时把某个 API 名、某条错误路径在几百个源文件里全局改掉。

用它哪个功能:查找与替换窗口的「在目录查找」页签,支持正则表达式(按规则匹配文本的写法)、跳过子目录、跳过二进制文件、按文件大小过滤。

具体怎么操作

  1. 填入目标目录和查找目标,勾选文件类型过滤(如*.cpp*.h
  2. 需要按模式匹配时切换到「正则表达式」,并注意「匹配大小写」
  3. 预览命中后点击「在文件中替换」
  4. 底部结果面板按文件列出所有命中,双击跳转

得到什么结果:替换完成后给出"共 N 处、分布在 M 个文件"的统计,出错的文件可以逐条跳回去回退:

⚡ 五个省时间的用法

  • Ctrl+D复制当前行,「编辑→行编辑」子菜单里还有删除当前行、升/降序排列、分隔行、合并行,处理清单类文本比鼠标快很多:

  • 快捷键全部可重映射:改完习惯后从别的编辑器切过来不用重新记(源码见 src/shortcutkeymgr.cpp)
  • 内置 16 套语法配色主题,都在 src/themes/ 下,Monokai、Deep Black、Blue light 等按需切换
  • 状态栏实时显示当前编码与行尾格式(CRLF/LF),文件"看起来像乱码"时先看这里再动手转码
  • 想扩展功能就抄 src/plugin/helloworld/ 这个现成插件模板,照着写个最小插件即可

🧯 踩坑速查

现象:打开旧 GBK 文件是乱码,还怀疑编辑器"坏"了原因:文件没有 BOM(文件头部的字节序标记),自动探测猜错了编码解法:在「编码」菜单手动指定 GBK 重新加载,确认正常后再以 UTF-8 保存

现象:cmake 一上来就报 Qt5 找不到原因:系统没装 Qt5,或CMAKE_PREFIX_PATH没指向 Qt 安装目录解法:装qtbase5-dev(Ubuntu)或 Qt 开发组件(Windows),并给 cmake 补上-DCMAKE_PREFIX_PATH=<Qt目录>

现象:Windows 下编译成功,双击 exe 闪退或报缺 DLL原因:Qt 运行库没有部署到可执行文件旁边解法:走win.mk会自动执行 windeployqt;手动构建的话自己跑一遍windeployqt NotePad--.exe

现象:插件放好了却不加载原因:插件产物没放进 plugin 目录解法:参考 win.mk 末尾把build/src下的 .dll/.so 拷到build/bin/plugin/的步骤

🚀 收尾:接下来做什么

Notepad-- 的定位很聚焦:编码、对比、批量处理这三件事做得扎实,语法高亮和插件够用,但别指望它有 IDE 级别的工程能力。

  1. 按上面的命令在任一台机器上编译出NotePad--,先拿小项目试
  2. 找一个确认安全的目录跑一次批量编码转换,熟悉扫描流程
  3. 拿两份配置文件对比一遍,把差异跳转用顺手
  4. 想写插件的话,读 插件编程开发说明.docx 和 helloworld 模板

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

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

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

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

立即咨询