notepad-- 完整使用指南:跨平台编辑、文件对比与批量替换一次讲清
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
你接过一个在 Windows 上开发、要在 Mac 上继续维护的项目时,Notepad++ 装不了,VS Code 又嫌重;或者你需要把一个旧接口名在 300 个文件里全部替换掉,不想逐个打开。notepad-- 就是为这类场景做的:一位中国开发者维护的跨平台轻量文本编辑器,同时支持 Windows、Linux 和 macOS,GPLv3 开源。它把文件对比、在目录查找替换、tailf 日志跟踪、大文件打开这些能力都做进了一个轻量可执行程序里。
这篇指南带你走一遍从编译安装到用好三个核心功能,再到把它改成自己工具的路径。
从克隆到首次编辑:几条命令编译出可用版本
先解决"怎么装"的问题。
Windows 用户最省事:仓库src/installer/目录里自带现成安装包,双击装完就能用。Linux 和 macOS 用户建议从源码编译,整个项目基于 CMake + Qt5 构建,编辑核心用的是自带的 qscintilla(源码在src/qscint/),不用另找依赖:
git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- cmake -B build && cmake --build build -j4编译前先装好 Qt5 和 CMake(Ubuntu 下sudo apt install qtbase5-dev cmake即可)。构建出的可执行文件叫NotePad--。首次启动会打开一个空白标签页,进"设置"把默认编码设为 UTF-8,之后新建文件就不会再纠结编码。

状态栏会实时显示当前文件的换行符和编码(如Windows(CRLF)、GB18030(简体中文)),这是它和普通记事本拉开差距的第一步。
在目录里查找与替换:一次处理整个项目 🔍
这一节处理"很多文件要同样地改"的活。
普通编辑器的替换对话框只作用于当前文件,而 notepad-- 的"在目录查找"能扫整个目录树:填目标目录,文件类型填*.c;*.cpp;*.h这类过滤条件,再输入查找和替换内容。勾上"跳过二进制文件"和"跳过超过大小的文件",避免把大文件拖进来。
查出来的不只是一个总数:底部"查找结果"面板把所有命中按文件、行号列成树状(上图这次是 161 个文件 989 处命中),双击任意一条直接跳到对应位置。拿不准就先点"查找"预览,确认无误再点"在文件中替换"。打开的多个标签页想同时批量处理,用独立的"批量查找替换"窗口,它直接接管当前所有标签页。
文件对比:文本、二进制、目录都能比
这一节回答"两个文件差在哪、两个目录差在哪"。
打开两个文件后点菜单栏"对比",差异行会用不同颜色标出,F3 / Shift+F3 在差异点之间来回跳。它比多数同类编辑器多出两种对比方式:
- 二进制对比:文件以十六进制视图打开,差异字节直接高亮,上限 10MB,改完固件或编译产物想确认"只变了这几处"时很好用
- 目录对比:选两个目录,自动列出全部有差异的文件,双击进入逐行详情
对比引擎在 CmpareMode.cpp 中,基于最长公共子序列算法,并且会处理行尾格式和编码差异——两份编码不一致的文件对比出来也不会满屏假差异。
大文件与乱码:三种打开模式自动识别编码
这一节解决"打开大日志卡死、中文变乱码"。
notepad-- 把打开方式分成三档:普通文本、大文本只读(4GB 级文件,可显示行号、可跳转)、超大文本只读(更大的文件直接开,不强求行号)。一个几 GB 的运行日志用大文本只读模式打开,编辑器不会卡死,还能按行号定位到出问题的地方。
乱码则靠打开时的自动检测兜底。看到乱码先试"编码"菜单里的自动检测,不行再手动切换 GB18030、UTF-8 等。检测逻辑会采样文件头和前几百行内容做判断,对 GB18030 与 UTF-8 混用的老项目准确率相当高。
语法高亮覆盖 C/C++、Python、XML、JSON、SQL 等几十种语言,编辑时的着色效果如上图。
换主题、加插件、改快捷键:把它变成你的工具
这一节回答"怎么让它长成我顺手的工具"。
主题放在 src/themes 下,共 17 套:深色系有 Deep Black、Monokai、Obsidian,浅色系有 Blue light、lavender、misty rose。每套主题就是一个文件夹里的若干.ini文件,复制一份改几个色值,就是自己的第四套。
插件是 C++ 动态库,仓库提供了可运行的完整示例 src/plugin/helloworld,接口定义在nddpluginapi.h,按它编译出 .dll / .so 放进插件目录即可加载。快捷键有独立管理窗口,任意功能可以重新绑定,默认键位也能取消。
实战案例:一次替换整个项目的旧变量名
前提条件:一个几百个 C++ 文件的项目,旧变量oldVar要全局换成newVar。
操作步骤:
- 按
Ctrl+Shift+F打开"在目录查找" - 目标目录设为项目根目录,文件类型填
*.cpp;*.h - 查找
oldVar,替换为newVar,勾选"全词匹配"防止误伤 - 先点"查找",在结果面板里确认命中都合理
- 点"在文件中替换"执行
预期结果:底部面板给出总命中数与每个文件的分布;替换完成后重新执行一次查找,命中为 0。改动范围不放心时,用目录对比把当前目录和备份目录比一遍,只会列出真正变了的行。
整个过程不到一分钟,不需要写任何脚本。
notepad-- 适合"团队操作系统混杂"或"文件级维护量大"的场景:先练熟在目录查找替换和文件对比这两项,日常维护工作的大头就已经覆盖了,之后再按需加主题和插件。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考