notepad-- 跨平台文本编辑器:文件对比与目录级批量查找替换一次讲透
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
notepad-- 是一个用 C++ 和 Qt5 编写的跨平台文本编辑器,核心能力是多标签编辑、文件对比和目录级批量查找替换,覆盖 Windows、Linux、macOS 三个系统。读完这篇文章,你能在 10 分钟内打开第一个文件,把某个关键词在全目录里的命中全部找出来,并完成一次整库重命名。
对号入座:先看你是不是它要服务的人
- 你在 Windows 和 Mac 之间来回切同一批文件时,需要一套快捷键和菜单布局两边完全一样的编辑器,不用重新记。
- 你做代码评审时,需要把两份相似文件并排打开,一眼看清哪一行被改动过。
- 你要对整库做批量操作时,需要跨多个文件查找并替换同一个词,还要知道每一处命中在哪里。
能力边界:notepad-- 没有调试器,也没有项目索引。需要编译、运行、断点调试时,把这些主战场留给重量级 IDE,把 notepad-- 当快速打开、快速对比、快速替换的随身工具。
🚀 跑起来:前 10 分钟让跨平台编辑器转起来
两条路径,任选其一。
直接安装(不用编译):到项目 release 页下载对应系统的安装包。Windows 的安装脚本在 src/installer/ 目录,双击 Installer.exe 走完安装;Linux 装 deb 包,macOS 装 dmg 镜像。
源码编译(开发者):Linux 下先装依赖,再克隆构建:
sudo apt install g++ make cmake qtbase5-dev qt5-qmakegit clone https://gitcode.com/GitHub_Trending/no/notepad-- cmake -B build -DCMAKE_BUILD_TYPE=Release && cd build && make -j首次启动 4 个设置,每条改完都有看得见的变化:
- 改默认编码 → 在"设置"里设为 UTF-8,状态栏右下角的编码标识同步从 GB18030 变成 UTF-8。
- 改字体 → 在"设置"里选 Consolas 或 Fira Code 等宽字体、字号 12–14,编辑器里的代码立刻列列对齐。
- 改主题 → "设置"的外观里从 src/themes/ 下的 17 套预设挑一套,切完语法高亮配色立即变化,不用重启。
- 改快捷键 → 只先记 2 个高频键:目录查找 Ctrl+Shift+D、复制当前行 Ctrl+D,其余保持默认。
⚡ 核心能力拆解:三个把 notepad-- 和别的编辑器拉开差距的功能
全目录搜一个词,命中全部一次看全
基础操作:
- 按 Ctrl+Shift+D,"查找与替换"窗口打开,点"在目录查找"页签。
- 在"目标目录"旁点"选择"指定目录,查找目标里填关键词,"文件类型"框填
*.cpp *.h把范围收窄。 - 点"全部查找",窗口状态栏立刻报"查找完成,一共发现 N 处在 M 个文件中"。
实战提醒:大范围操作前先勾"全词匹配",oldVariable 不会被 newVariableName 里的子串误伤;勾上"跳过超过 20 MB 的文件",大二进制文件不会拖慢搜索。
如果你只需要在一个文件里找东西,就用普通查找;要跨多个文件命中,才用目录查找。
两文件并排对比,差异一眼看清
基础操作:
- 把要对比的两个文件分别打开成两个标签页。
- 点菜单栏"对比"菜单进入对比视图,界面变成左右双栏。
- 差异行按颜色高亮,独有的行单独标出,不用再逐行肉眼比对。
实战提醒:对比视图里按 F3 / Shift+F3 直接跳下一个 / 上一个差异点,不用拖鼠标滚到底;评审一个分支相对主干的全部改动时,用目录对比入口,它会列出所有有差异的文件。
如果两个文件结构完全不同,行级对齐会很乱,就先"以文本模式打开"再比纯文本。
行级操作:按一个键挪一行,删重复一次干净
基础操作:
- 光标点到某行,按 Ctrl+D 复制当前行,下方立刻多出一行内容相同的副本。
- 打开"编辑 → 行编辑"子菜单,选"下移当前行 / 上移当前行",行直接换位,光标不用挪。
- 点"删除连续的重复行",相邻的重复行一次删干净。
实战提醒:子菜单里的"升序排列文本行"整理配置文件很省事,配合 Ctrl+D 连续复制,一行模板三秒变 N 行。
如果单行太长不好整行操作,先用"行编辑 → 分隔行"拆开,再逐行挪。
📋 完整任务走查:整库批量重命名一个函数,确认无遗漏
场景:项目里所有 .cpp / .h 中的oldFunc要改成newFunc,一处不漏、一处不错。
- 在"设置"里把新建文档默认编码设为 UTF-8,状态栏右下角编码标识变成 UTF-8。
- 按 Ctrl+Shift+D 打开"查找与替换",点"在目录查找"页签。
- "目标目录"选项目根目录,"文件类型"框填
*.cpp *.h。 - 查找目标填 oldFunc、替换为填 newFunc,勾上"全词匹配",先点"全部查找"。
- 底部"查找结果"区列出每个命中文件的路径和行号,点任意命中行,编辑器直接跳到对应位置,逐条扫一眼确认无误伤。
- 确认干净后点"在文件中替换",状态栏报告本次替换的总处数。
- 按 Ctrl+S 保存,打开改动最多的文件确认改动符合预期,再用"对比"菜单核对新旧差异,之后就可以继续后面的开发。
卡点清单:三个高频卡点,直接给解法
中文打开变乱码
- 现象:打开老文件,中文全是问号或方块。
- 原因:文件本身是 GBK 系列编码,编辑器按 UTF-8 解读了。
- 解决:菜单"编码 → 转为 UTF-8"后重新保存。
大文件打开后界面发僵
- 现象:超过 100 MB 的文件打开后操作迟钝。
- 原因:语法分析和全文索引占用了大量内存。
- 解决:用"编辑 → 以文本模式打开"跳过高亮,同时关掉多余标签页。
插件编译完菜单里看不到
- 现象:编译好的插件没出现在"插件"菜单。
- 原因:动态库没放进插件目录,或接口版本与当前版本不匹配。
- 解决:把 .dll/.so/.dylib 放进插件目录,接口对照 src/plugin/helloworld/ 示例逐个检查。
收尾三步
- 装:下载对应系统安装包或 cmake 编译,10 分钟跑起来。
- 练:拿熟悉的小目录完整走一遍目录查找再替换。
- 改:换一套主题、改两三个快捷键,长成自己的样子。
notepad-- 是"文本编辑器 + 工具箱"的组合:编辑是它的日常,对比和批量查找替换是它的隐藏技能。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考