notepadXL 在你点完鼠标之前就已就绪:它 0.2 秒启动,几乎不占内存,从不让你等待。 想退出就退出——每个标签页都会原样回来,包括那些从未保存过的笔记,连同它们的撤销历史。 它还能瞬间打开数 GB 的日志文件, 为 21 种语言着色,校验 JSON 和 XML,解决 git 冲突, 并以十六进制读取二进制文件。Notepad++ 的精神,为 Mac 原生打造。
需要 macOS 13 Ventura 或更高版本 · 支持英语和法语
带着未保存的标签页退出,再重新启动:0.2 秒后一切都回来了——文本、光标、滚动位置和撤销历史。
它的位置
你每天要处理的文本,大多算不上项目:一份要翻查的日志、一段要读的 JSON 数据、一份要整理的清单、一条留着以后再看的笔记。你希望它在你想清楚之前就已经打开——而且明天还在。
富文本优先,纯文本其次。遇到大文件就慢得动弹不得,也完全看不懂代码。
系统自带纯文本和代码,多大都行,装在退出后依然还在的标签页里。语法着色、JSON/XML 工具、合并视图、十六进制。
0.2 秒打开项目、索引、插件,还有漫长的启动过程——只为读一份日志或改一行配置,实在太重。
适合整个项目你能得到什么
一切都在你的 Mac 上运行,而耗时较长的操作——打开、搜索、转换、保存超大文件——都在后台进行,并带有可随时取消的进度条。
原生 AppKit 应用,没有运行时要启动,也没有任何东西要建索引:点一下图标就能开始打字。内存和 CPU 占用都很低,可以整天开着。
每个标签页都会在启动时恢复:未命名的笔记、未保存的修改、光标、滚动位置和撤销历史。退出时不会再弹出“要存储修改吗?”的对话框。
数 GB 的文件也能立刻打开并保持流畅:文件按需读取,绝不整个载入内存。你的修改会单独保留,直到你执行保存。
21 种语言,从 C、Java 到 Python、Rust、SQL 和 YAML。根据扩展名、shebang 或内容本身自动识别——也可以在状态栏里自己选一种。
含有冲突标记的文件会并排打开,你的版本对着对方的版本,由 patience diff 算法对齐。把每个区块复制到左边或右边,也可以单独撤销任何一个已合并的区块。
校验文档,并直接跳到出错的那一行那一列。格式化或压缩 JSON,格式化 XML 和 HTML,缩进代码,进行 Base64 编码和解码。
二进制文件以十六进制视图打开,并带有 ASCII 列。搜索字节序列,按十进制、十六进制或百分比跳到某个偏移量,并直接修改字节。
正则表达式、区分大小写、全部替换——即使在超大文件上也很快。把按键录制成宏,然后回放,可以指定次数,也可以一直执行到文件末尾。
UTF-8(带或不带 BOM)、UTF-16 LE/BE、ANSI、ISO-8859-1/2/15 和 ASCII。转换或重新解读,在 Unix(LF)和 Windows(CRLF)之间切换。
GitHub Light、Paper、Mist、Classic、Monokai、Dracula、Nord、One Dark——也可以自己做一套,连语法配色都能调。工具栏和标题栏都会跟随主题。
在侧边面板中浏览你的文件夹,并按名称筛选。添加 FTP 或 SFTP 服务器:远程文件在标签页中打开,保存时会传回服务器。
匹配括号高亮、右侧的文件全景图、跳到某一行或文件的 50%、打开最近使用的文件、带行号和配色打印。
没有账户,没有使用统计,没有追踪。唯一的连接是到你添加的 FTP 或 SFTP 服务器。notepadXL 运行在沙盒中,只接触你打开的文件。
看图说话

720 万行,滚动和编辑起来跟小文件一样。右侧的全景图呈现整个文档。

关键字、字符串、数字和注释都用你所选主题的配色。只有可见的行才会着色,所以文件再大也一样快。

你的版本在左,对方的版本在右。保存下来的文件始终是合并结果;尚未定夺的部分仍留在冲突标记之间。

工具栏会随检测到的内容而变:这里是“格式化 XML”和“校验 XML”,遇到 JSON 数据则是“格式化 JSON”和“校验 JSON”。
支持
如果这里没有解答你的疑问,请写信到 appstore@starn.fr,并说明出问题时你正在做什么。
| 文件与编辑 | |
|---|---|
| ⌘N | 新建标签页 |
| ⌘O | 打开 |
| ⌘S | 保存 |
| ⇧⌘S | 另存为 |
| ⌥⌘S | 全部保存 |
| ⌘W | 关闭标签页 |
| ⌘P | 打印 |
| ⌘Z / ⇧⌘Z | 撤销 / 重做 |
| ⌘L | 跳到指定行 |
| ⇧⌘H | 十六进制视图 / 文本视图 |
| 查找、转换、宏 | |
|---|---|
| ⌘F | 查找 |
| ⌥⌘F | 替换 |
| ⌘G / ⇧⌘G | 查找下一个 / 上一个 |
| ⌘E | 用所选内容查找 |
| ⌥⇧⌘J | 格式化 JSON |
| ⌥⇧⌘X | 格式化 XML / HTML |
| ⌥⇧⌘I | 缩进代码 |
| ⌃⇧R | 开始 / 停止录制宏 |
| ⌃⇧P | 回放宏 |
存在 notepadXL 自己在你 Mac 上的沙盒文件夹里(它的 Application Support 文件夹)。对于大文件,只会存下你的修改,绝不会存整个文件的副本。任何内容都不会被发送到任何地方。“设置 ▸ 重置应用数据”可以把这些全部清除。
如果该标签页没有未保存的修改,就直接载入新版本。如果有未保存的修改,notepadXL 无法安全地把它们套用到一个已经不同的文件上:它会载入当前版本并告知你。应用运行期间,若某个文件被其他程序改动,它会询问你是重新载入还是保留你的版本。
数 GB。文件是按需读取,而不是载入内存,所以打开是瞬间的,内存占用也一直很低。超过 32 MB 时,行数会先做估算(状态栏里显示 ≈);在“设置”里打开“大文件精确行数”,就会在后台把行数数清楚。
忽略大小写的搜索必须解码文件的每一个数据块。如果你知道文本的确切大小写,请勾选“区分大小写”:这样文件会逐字节搜索,快上许多。适用时 notepadXL 会主动提示你。
C、C++、C#、CSS、Go、HTML、INI / Properties、Java、JavaScript、JSON、Kotlin、PHP、Python、Ruby、Rust、Shell、SQL、Swift、TypeScript、XML 和 YAML,另有一种通用模式适用于其他代码。语言会自动识别;点击状态栏里的语言名称,就能为该标签页另选一种。
当文件里含有冲突标记时,“合并”按钮会把两侧并排显示出来。把每处差异复制到左边或右边,也可以整体采用某一侧。文档——以及你保存下来的内容——始终是合并结果;你尚未定夺的差异仍留在 <<<<<<< 和 >>>>>>> 标记之间。每个已合并的区块都可以单独选中并撤销,即使回到文本视图之后也一样。
可以。二进制文件会以十六进制视图打开;其他任何文件也能用 ⇧⌘H 切换过去。在十六进制列或 ASCII 列里直接输入,搜索诸如 DE AD BE EF 这样的字节,并跳到指定偏移量。
宏记录的是按键、输入和命令,不包括鼠标点击。录制时请用键盘或搜索来移动位置,这样宏回放时就会重复同样的移动。
它跟随你的 macOS 语言,提供英语或法语。你也可以在“设置”里指定其中一种。
不会主动发送任何东西:没有使用统计,没有账户,没有云。唯一的连接是你要求的那些,也就是连到你在文件面板中添加的 FTP 或 SFTP 服务器。请参阅隐私政策。
该标签页对应的文件在 notepadXL 关闭期间被移动、重命名或删除了,或者它所在的磁盘没有连接。请重新接上磁盘,或从新位置重新打开该文件。
看看状态栏里显示的语言:如果识别错了,就在那里选对的。如果完全没有着色,可能是“设置”里的“语法高亮”被关掉了。纯文本和二进制文件则永远不会着色。
超过 32 MB 的文件会先估算行数,好让文件立刻打开。请在“设置”里打开“大文件精确行数”;统计期间文件照常可用。
“设置 ▸ 重置应用数据”会清除打开的标签页、未保存的文本、宏、最近文件和各项设置,然后像首次启动那样重启 notepadXL。磁盘上你自己的文件不会受到影响。
问题反馈、疑问和功能建议:appstore@starn.fr。 反馈问题时,请告诉我们 macOS 版本、文件的类型和大小,以及出问题之前你刚做了什么, 这样能省去一轮邮件往返。