Notepad-- 完整指南:面向 Windows / Linux / Mac 的免费跨平台文本编辑器
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
Windows、Mac、Linux 三台设备来回切,每次都得换一套编辑器、重记一遍快捷键?Notepad-- 是一款开源免费的 C++ 跨平台文本编辑器,三套系统里界面和快捷键完全一致,让你换设备不用重新上手。
它到底解决什么问题
你肯定遇到过:公司 Windows 上用着顺手的编辑器,回家 Mac 上得另找一个,连到 Linux 服务器又只剩命令行工具。菜单、快捷键、配色全不一样,每次换机器都得重新热乎半天才能干活。
Notepad-- 用 C++ 和 Qt 编写,Windows / Linux / Mac 三端同源。README 里写得很直白:目标是做可国产替代的文本编辑软件,重点放在 UOS 信创系统和各类 Linux 发行版上。它不做 IDE 那套工程索引、编译管理,只把文本编辑、搜索、对比、编码转换这几件事做扎实。
一句话定位:它是个轻量跨平台开源文本编辑器,在任何系统上打开,都是同一套界面、同一套快捷键。
快速开始:Notepad-- 安装与编译步骤
🚀 想直接跑起来,三端都有预编译安装包,去项目 Release 页面下载即可(最新下载地址写在 README 里)。Arch Linux 用户也可以走 AUR,一条yay -S notepad---git装完。
想自己编译,依赖只有 CMake 和 Qt5 库。以 Ubuntu / Debian 为例:
git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad-- sudo apt-get install g++ make cmake qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5printsupport5 libqt5xmlpatterns5-dev cmake -B build -DCMAKE_BUILD_TYPE=Release cd build && make -j cpackmake -j跑完就得到可执行文件,cpack出安装包。仓库根的 CMakeLists.txt 里 Windows 也有一条构建分支,根目录的 win.bat、win.mk 对应 Windows 打包。核心编辑控件是随仓库自带的 QScintilla(Scintilla),在 src/qscint/ 下,不需要再单独拉依赖。
一句话总结:Linux 上六条命令从克隆到出安装包,Windows 和 Mac 直接拿预编译包。
功能详解:Notepad-- 的六个核心功能
多标签与目录列表
- 怎么做:打开多个文件,每个文件占一个标签;点工具栏"目录列表"按钮,左侧展开文件树。
- 用完后你能得到什么:双击树里任意文件直接打开,当前文件自动高亮;重启软件还会自动恢复上次打开的文件(
restoreLastFiles逻辑)。 - 适合谁:在项目目录里干活、想像资源管理器一样翻文件的人。
语法高亮与 17 套主题配色
- 怎么做:打开文件时按扩展名自动匹配语法(src/cceditor/ccnotepad.cpp 里的
getLangLexerIdByFileExt),识别错了再从"语言"菜单手选。 - 用完后你能得到什么:C/C++、Python、Java、JavaScript、XML、JSON、Markdown 等 40 多种语言关键字着色;src/themes/ 内置 Monokai、Obsidian、Deep Black 等 17 套方案,白天浅色、夜里深色随时换。
- 适合谁:白天写代码、晚上看日志的开发者。
编码识别与转换
- 怎么做:打开文件先自动探测编码(src/Encode.h 里的
Encode::DetectEncode);乱码时从"编码"菜单选 GBK / GB18030 / UTF-8 / UTF-16 / Big5 重新载入,也能转码后另存。 - 用完后你能得到什么:状态栏右下角常驻当前编码和换行符,比如"GB18030(简体中文)""Windows(CR LF)",随时心里有数。
- 适合谁:常碰老系统文档、翻译文件、跨系统交接文件的人。
目录查找与正则替换
- 怎么做:点工具栏"在目录查找",填目标目录、查找目标、文件类型过滤(如
*.c;*.cpp;*.h),选普通或正则表达式模式,回车开搜。 - 用完后你能得到什么:底部结果面板按文件分组列出全部命中,双击任意一条跳到对应行;还有"跳过二进制文件""跳过超过 20MB 的文件"等选项压掉误报。
- 适合谁:大工程全局改代码、追调用链的人。
文件双向对比与块统计
- 怎么做:菜单"对比"里选两个文件,左右两栏逐行对齐;工具栏可以切换"严格 / 忽略空白"的匹配口径,二进制文件对比上限 10MB(见 src/CmpareMode.h 的
MAX_BIN_SIZE)。 - 用完后你能得到什么:状态栏实时显示"当前有 N 处不同块","上一个 / 下一个"逐块翻,增删行颜色分明。
- 适合谁:核对代码改动、配置同步差异的人。

大文件与日志跟随
- 怎么做:大文本自动走只读展示模式;4G 以上文件进超大文本只读模式;日志文件打开 tailf 模式,屏幕底部持续追加最新内容。
- 用完后你能得到什么:几十 MB 的日志秒开,跟日志不用手动刷新重开。
- 适合谁:靠看日志排障的运维和后端。
另有几个小能力顺手提一下:十六进制视图打开二进制、自动保存定时器、MD5 哈希、XML / JSON 一键格式化,以及排序、去重、大小写转换这类行级操作。
一句话总结:多标签、高亮、编码、目录查找、双向对比、大文件日志跟随,六件事各自独立、互相能拼起来用。
实战演示:三个典型任务
任务一:全项目定位一个关键词
- 任务目标:接手一个陌生 C++ 工程,先搞清楚
GeoModel到底出现在哪些文件、哪些行。 - 操作步骤:打开"在目录查找" → 目标目录填项目根目录 → 查找目标填
GeoModel→ 勾选文件类型并填*.cpp;*.ui→ 点"在目录查找"。 - 做完之后:结果面板按文件列出全部命中,状态栏给出命中总数和涉及文件数,双击任一条直接跳到该行,全程不用手动翻目录。
任务二:核对两个版本的文件差异
- 任务目标:改完一段函数,和旧版本逐行核对,确认没有多余改动。
- 操作步骤:菜单"对比"选两个文件 → 左右栏自动对齐 → 工具栏点"严格"或"忽略"调匹配口径 → 用"下一个"逐块翻。
- 做完之后:状态栏显示"当前有 14 处不同块",每块一行行过,新增删除颜色分开,核对到最后一处不遗漏。
任务三:救回一份乱码的 GBK 老文档
- 任务目标:从老 Windows 机器拷来的文档,打开全是乱码。
- 操作步骤:打开文件确认乱码 → "编码"菜单选"以 GBK 方式打开"重新载入 → 中文显示正常后,再在"编码"菜单转成 UTF-8 保存。
- 做完之后:文档中文恢复正常,且文件已转成 UTF-8,之后在 Linux、Mac 上打开不会再乱码。记住别先删了重敲,乱码十有八九只是编码识别偏了。
一句话总结:查找、对比、编码三件事,每步操作都有明确可数的结果,做完就能验收。
常见问题:Notepad-- 使用中常被问到的疑问
❓问:打开文件全是乱码,是不是坏了?
答:基本能救,先别慌。去"编码"菜单换 GBK、Big5、UTF-16 逐个重载,文件本身没坏,是识别偏了;全换一遍还不行,再怀疑文件真损坏。
问:Windows 版和 Mac 版快捷键不一样吗?
答:一样。三端菜单、工具栏、快捷键布局一致,只有系统菜单位置不同(Mac 的菜单在屏幕顶部)。
问:几个 G 的日志文件打得开吗?
答:能,走只读。常规大文本自动进入只读展示,4G 以上走超大文本只读模式;对超大文件写入暂不支持。
问:UOS、国产信创环境能跑吗?
答:能跑,而且这是项目的重点方向之一。代码里有 uos 专属分支(src/cceditor/ccnotepad.h 里的#ifdef uos),README 也写明重点发展 UOS 和各类 Linux 发行版。
问:插件怎么写?
答:照着 src/plugin/helloworld/ 的示例工程抄结构,接口定义看 src/nddpluginapi.h,CMake 已经默认把插件库编进去了。
一句话总结:乱码、快捷键、大文件、UOS、插件,新手最常问的五个问题都有明确答案。
进阶玩法:五个用出效率的技巧
- tailf 跟日志:工具栏打开 tailf,日志新内容实时滚到屏幕底部,不用再反复重开文件。
- 列块编辑:打开列块模式,跨多行框选一个矩形区域批量插入或删除,对齐表格、批量改行前缀一次搞定。
- 自定义快捷键:在快捷键管理窗口(src/shortcutkeyeditwin.cpp)把高频操作绑到自己的键位,用两天就成肌肉记忆。
- 行级批处理:"编辑"菜单直接给排序、去重、反序、大小写转换、Tab 与空格互转、删空行,小数据不用绕道终端脚本。
- 配色微调:基于 src/themes/ 的 17 套内置方案改前景、背景和字体,夜里写代码眼睛不累。
一句话总结:这五个技巧都在砍重复动作,用熟了省下的都是零碎时间。
如果你也被"换台设备就换一个编辑器"折腾过,不妨给仓库点个 Star;使用中碰到问题、想要新功能,直接提 Issue;动手能力强就照着 src/plugin/ 里的 helloworld 示例写一个小插件。Notepad-- 想做的很简单:让每个开发者不管坐在哪台机器前,手里都有同一把顺手的工具。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考