Notepad-- 从编译到上手:跨平台文本编辑器完整指南
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
Notepad-- 是一款支持 Windows、Linux、macOS 的跨平台文本编辑器,多标签编辑、文件对比、批量查找替换是它的核心能力。如果你习惯在 Windows 上用 Notepad++,到了 Mac 或 Linux 上却找不到替代品,这个国产编辑器可以直接上手。
Notepad-- 多标签文本编辑器主界面截图
五分钟跑起来:从源码到第一个文件
Notepad-- 用 C++ 和 Qt5 编写,编辑内核是 Scintilla 引擎,代码在 src/qscint/ 目录。想从源码跑起来,先在系统里装好 Qt5 开发库(Ubuntu/Debian 用 apt 装 qtbase5-dev、qt5-qmake 即可),然后配置编译,整个过程就几行命令:
git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- cmake -B build -DCMAKE_BUILD_TYPE=Release cd build && make -j4macOS 上也可以用 Qt Creator 直接打开仓库里的 .pro 工程编译。编译产物是一个独立的可执行程序,双击启动,无需其他依赖。
启动后你会看到一个很" Notepad++ "式的布局:顶部菜单栏和工具栏,中间是多标签页,底部状态栏。状态栏右侧有两处信息值得留意——行尾类型(Windows CR LF 或 Unix LF)和文件编码(UTF-8、UTF-8-BOM、GB18030 等)。先记住它的位置,后文的乱码问题就从这里入手。
多标签与目录列表:日常编辑的主场景
编辑体验本身没什么意外,打开多个文件就变成标签页,关闭软件后会恢复上次打开的标签。真正方便干活的是左侧的"目录列表"面板:指定一个根目录,它会生成文件树,点哪个文件就在右侧编辑区打开哪个,配合多标签页,在 .cpp 和 .h 之间来回切换完全不用离开编辑器。
Notepad-- 目录列表面板与多标签代码编辑界面
语法高亮内置了几十种常用语言(C/C++、Python、Java、XML、JSON、Markdown 等),在"语言"菜单里选对应类型,或按文件后缀自动关联。左侧的折叠箭头在 XML、C++ 这类结构化文件上生效,长函数可以收起来只看骨架。另外"编辑"菜单里有列块模式,多行同一位置插删内容很顺手;Markdown 文件还带预览功能,能把 .md 原文渲染成排版好的文字,实现见 src/markdownview.cpp。
文件对比:左右双栏逐行看差异
Notepad-- 文件对比左右双栏差异界面
如果说日常编辑只是"够用",文件对比才是 Notepad-- 最差异化的地方,主逻辑在 src/CmpareMode.cpp。
场景很具体:手上有一个旧版配置和一个新版配置,或者要核对两个分支里同一份文件的改动。从"对比"菜单选择两个文件(或把文件拖进编辑器),窗口就分成左右双栏:差异行用红色和绿色底纹标出,左边有箭头指向每一处不同块,底部还会显示当前共有多少处不同。顶部一排专属按钮也实用——"空白""严格""忽略"用来控制是否忽略空格和大小写差异,"上一个/下一个"在差异块之间跳转,"拉平"把错位行重新对齐,"交换"调换左右两边。"最近对比"菜单会记录你比过的文件,下次不用重新挑。用过文本编辑器 + 查找功能硬凑 diff 的人,看到这个界面基本就回不去了。
查找与替换:跨目录的批量操作
对比功能解决"看差异",查找替换解决"批量改"。单文件内 Ctrl+F / Ctrl+H 是常规操作,选中文字会自动填入查找框,支持全词匹配、区分大小写和正则,结果可以汇总到底部的查找结果面板。
真正有用的是在目录查找(src/dirfindfile.cpp):选一个目标目录,输入关键字点"全部查找",命中的文件和行号会按文件分组列出来,点某一行直接跳到对应位置。选项面板很实在——按文件类型过滤(比如*.c *.cpp *.h)、跳过子目录、跳过隐藏文件,还有"跳过超过大小 20 MB"的勾选,大仓库里搜也不会卡死。需要统一改名时配合批量替换(src/batchfindreplace.cpp),几百个文件里的旧变量名可以一次改完。维护老项目时,"目录列表 + 在目录查找 + 逐文件替换 + 对比核对"基本就是一套完整工作流。
避坑与进阶
打开中文文件出现乱码
你看到的现象:文件里全是问号或无意义字符,同一文件换别的编辑器打开却正常。
大概率原因:文件编码和编辑器假设的不一致。比如 GB18030 保存的中文文件被当成 UTF-8 读取,必然乱码。
解决办法:看底部状态栏——它始终显示当前文件的行尾和编码(比如下面截图右下角的 Unix(LF) 和 UTF-8)。用"编码"菜单检测并按需转换保存即可;团队间传文件时最好统一 UTF-8,行尾风格也保持一致,否则 diff 里会多出大量"假差异"。
大文件和大日志怎么开
大文件是 Notepad++ 类编辑器的通病。Notepad-- 提供了大文本和超大文本两种打开方式(changelog.txt 里 v1.22 有记录),打开超大文件前会先弹提示让你确认,避免直接卡死。看服务器日志可以开 tailf 模式,窗口自动刷新、自动滚动,新内容追加进来即可,不用再去终端敲 tail。
三个平台的使用差异
同一套源码在 Windows、Linux(含 UOS)、macOS 上打包,功能基本一致。差异主要在装法上:Linux 编译依赖 Qt5 开发库;macOS 是 .app 应用;Windows 装完可以设置文件关联,双击 .txt 直接打开。Arch 用户可以直接走 AUR 安装。快捷键可以整体重绑,配色主题可换(src/shortcutkeymgr.cpp 和 src/themes/ 下有现成的 Monokai、Obsidian 等),自定义一次,三台机器的体验就能保持一致。
适合谁用
做信创或 UOS 相关工作的工程师:国产环境里 Notepad++ 基本用不上,Notepad-- 能在 UOS 和各类 Linux 上稳定运行,对比、批量查找这些开发运维常用的能力都有,可以直接当日常编辑器。
在 Mac 和 Windows 之间切换的开发者:两台机器上保持同样的标签页习惯、快捷键和目录列表布局;源码开放,也带插件机制,src/plugin/helloworld/ 下有一份最小示例,想加点自己的功能可以照着改。
需要频繁处理代码、日志、配置文件的学生或笔记整理者:轻量、启动快,行号、折叠、Markdown 预览都齐全,写课程实验报告或整理 .ts 翻译文件都够用。
想要一个在 Mac 和 Linux 上开箱即用、又带文件对比的 Notepad++ 式编辑器,Notepad-- 是少数几个能同时满足这两点的选择。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考