Notepad-- 跨平台文本编辑器实用上手:批量替换、文件对比、GBK 乱码转换一次跑通
发布时间:2026/10/3 1:55:31 作者:尧图编辑部 阅读量:1,286

Notepad-- 跨平台文本编辑器实用上手批量替换、文件对比、GBK 乱码转换一次跑通【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器目标是做中国人自己的编辑器来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--Notepad-- 是一款国产开源的跨平台文本编辑器Windows、Linux、macOS 三端操作习惯一致。批量查找替换、文件对比、编码乱码转换这三件日常麻烦事它能一次办完不需要装三套工具。 先看你的麻烦是不是这三种接手一个老仓库GBK、GB18030、UTF-8 文件混着放打开就是一屏问号一个配置项改名了目录树里 161 个文件、近千处引用还挂着旧值一个个翻不现实改完代码准备提交拿两个版本对着滚屏肉眼找差异找到眼睛发花。这三件是文本处理里最费时间的活。Notepad-- 恰好把它们收进一个工具基于 Qt5 和 QScintilla 编辑引擎GPLv3 协议三端同一套操作。 三十秒认识它确认值不值得读完维护个人开源项目中文社区活跃协议GNU GPLv3平台Windows / Linux / macOS含国产 UOS核心依赖Qt5、QScintilla 编辑引擎与同类工具的一个关键差异跨平台且针对中文编码场景做了专门处理如果你正接手一个 GBK/UTF-8 混放的老项目或者要在一整棵目录树里批量改配置项、改函数名再或者发版前要核对两个文件的逐行差异——这篇往下看。 装好它打开第一个文件安装包用户到项目发布页下载对应平台的包Windows 是安装程序、Linux 是 deb/rpm、macOS 是 dmg装完即可运行不依赖本机开发环境。源码编译用户需要 CMake 3.16 以上和 Qt5 开发库。git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- sudo apt install g make cmake qtbase5-dev # Linux cmake -B build -DCMAKE_BUILD_TYPERelease cmake --build build -jWindows MinGW 环境直接跑仓库根目录的 win.bat 和 win.mk编译说明.docx 里有完整流程。首次打开后核对三样东西【文件】→【打开】选一个文本文件标签页里出现内容文件名成为标签标题看窗口右下角状态栏编码UTF-8、GB18030 等、换行Windows CR LF / Unix LF、语法三项都在这是后面处理乱码的出发点打开一个 C 或 Python 文件行号栏左侧出现折叠符号语法高亮按扩展名自动生效。跑通判定标签页有内容 状态栏显示编码和换行 高亮已生效三项齐了就算装好。 三个最高频场景逐个跑一遍批量查找替换一个词挂在一百多个文件上你会遇到这个情况配置项old_host改成了new_host可项目里 161 个文件、989 处引用还挂在旧值上。操作路径菜单栏【查找】→【在目录查找】弹出查找与替换窗口切到在目录查找选项卡目标目录点【选择】指定项目根目录输入框里出现路径勾选文件类型填过滤条件如*.cpp,*.h范围收窄到目标文件填查找内容和替换内容按需勾选全词匹配匹配大小写点【全部查找】——底部查找结果区按文件分组列出命中文件名 行号 行内容窗口提示查找完成一共发现 989 处在 161 个文件中确认命中合理后点【全部替换】再查一遍命中数归零。做对了长这样替换后重新全部查找结果区 0 命中。翻车预警先看结果列表里每个文件的命中数再动手替换能避免把不该动的文件一起改掉右侧选项里跳过隐藏文件跳过超过大小(20MB)的文件默认开启大日志默认不参与查找别因此以为没查全替换前没有自动备份重要目录先复制一份或走版本管理别直接裸改。文件对比确认两个版本只差该差的地方你会遇到这个情况提交前想确认改过的文件和基线版只差该差的地方而不是靠肉眼滚屏。操作路径【文件】分别打开两个文件再进【对比】→【文件对比】双栏视图打开左右各显示一个文件顶部工具栏提供【上一个】【下一个】【放大】【缩小】【交换】【刷新】【差异图】按钮点【下一个】逐处跳转差异差异行两侧红色高亮、行首画箭头被删除的行在对侧以斜纹背景占位行号一一对应左侧规则区可切换空白/忽略/严格调整是否忽略空格差异。做对了长这样状态栏显示当前有 N 处不同块N 处全部过完每处都能说出为什么改。翻车预警两边编码不同时差异会虚高先按编码救回那节的流程统一编码再比别在默认规则下就下结论只想核对有效改动时记得切忽略空格的对比模式空格差异不算业务改动大文件对比有提示请等待属正常现象别中途关窗口。GBK 文件乱码救回一屏问号变正常中文你会遇到这个情况从旧 Windows 机器拷来的.txt、.ini、.c用 UTF-8 打开整屏æµè®µ。操作路径打开文件看状态栏编码若显示 UTF-8 但内容乱码说明它其实是别的编码存的【编码】菜单里用使用编码 XX 打开依次试 GB18030、GBK、ANSIGB18030 是 GBK 的超集优先试它每次试完看内容是否可读内容正常后别急着保存——走【另存为】并选目标编码推荐 UTF-8新文件在标签页打开一批文件时先用批量查找在目录里确认范围再逐个转换。做对了长这样状态栏编码与内容对上了另存出的新文件在任何编辑器里打开都不再乱码原文件原样保留。翻车预警编码猜错后再保存等于把错读的内容固化下来原始文件就废了顺序必须是重开 → 确认 → 另存为别原地覆盖UTF-8-BOM和普通UTF-8是两回事有些老工具不认 BOM转换时留意目标环境的要求CRLF 与 LF 混用时行号、对比结果都会受影响状态栏的换行显示能帮你识别。⚡ 常用操作速查表操作快捷键 / 入口一句话说明新建 / 打开 / 保存CtrlN/CtrlO/CtrlS常规文件操作撤销 / 重做CtrlZ/CtrlY批量替换前的后悔药剪切 / 复制 / 粘贴 / 全选CtrlX/CtrlC/CtrlV/CtrlA标准行为查找 / 替换CtrlF/ 【查找】菜单替换框继承查找框关键字查找下一个 / 上一个F3/ShiftF3在结果间连续跳转复制当前行CtrlD/ 【编辑】→【行编辑】复制配置行很顺手列编辑块选择按住Alt拖动 / 【行编辑】选矩形区域批量改换行格式转换【格式转换】CRLF / LF 互转两个容易忽略但常用的细节语法高亮按扩展名自动匹配状态栏左下角显示当前语言扩展名对不上时到【语言】菜单手动指定或在【设置】里维护扩展名与语言的关联源码入口见 extLexermanager.cpp。配色方案在【设置】里切换src/themes/ 下每个目录就是一套主题内含按语言拆分的.ini配色文件Monokai、Obsidian、Bespin、misty rose 等十几套改色即改文件。 卡住了对着这四条查Linux 下提示找不到 Qt 相关动态库运行环境缺 Qt5 运行时不是程序坏了。执行sudo apt install libqt5core5a libqt5gui5 libqt5widgets5装上即可源码构建的用户确认编译机装了qtbase5-dev。打开文件中文乱码换编码还是不对先确认用的是使用编码 XX 打开而不是转换为 XX 编码——前者只是换读法后者会写文件。再按 GB18030 → GBK → ANSI 的顺序试。乱码本质是用 A 编码读了 B 编码的字节顺序对了字就出来。几百兆的大文件打开卡顿它对大文本采用分块加载默认按 512K 一块读入见 filemanager.cpp 的分块逻辑不是整文件塞内存。仍慢时关掉不需要的语法高亮、减少同时打开的标签页、目录查找时用跳过超过大小把大文件排除。升级版本后设置会丢吗不会。设置存在 ini 配置文件里新版本启动逐项检查旧配置缺的键自动补默认值逻辑在 nddsetting.cpp 的checkNoExistAdd老配置直接带进新版。 文档、源码与配置目录完整使用手册ndd-v3.7.0-manual.pdf版本变更记录changelog.txt升级前扫一眼行为变化英文 READMEREADME_EN.md主程序逻辑src/编辑组件src/cceditor/编辑引擎QScintillasrc/qscint/主题配色src/themes/插件示例src/plugin/helloworld/开发说明见 插件编程开发说明.docx配置目录备份设置只需拷它平台路径Windows%APPDATA%\notepad\nddsets\Linux~/.config/notepad/nddsets/macOS~/Library/Preferences/notepad/nddsets/想改代码从 src/ 进先按 编译说明.docx 跑通构建反馈问题走菜单栏【反馈问题】入口或直接提 Issue。拿一个真实项目先做一次全量替换把旧词清干净再用对比核对其中两个关键文件的差异最后把一批 GBK 老文件转成 UTF-8。三步走完Notepad-- 就从新装的工具变成默认打开它的工具。【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器目标是做中国人自己的编辑器来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考