
简介这份文档面向希望在 Mac 电脑上使用 Notepad 的用户尤其是习惯该编辑器却受限于官方未推出 Mac 版本的开发者与办公人群。资源为一份 docx 格式的安装指南压缩包内共 1 个文件大小约 357KB内容围绕借助 WineBottler 在 Mac 平台运行 Notepad 的完整流程展开涵盖下载 WineBottler、复制应用、搜索并安装 Notepad、命名 App、运行与更新等关键环节。文档同时整理了 Notepad 的核心功能特点如内置 27 种语法高亮、自定义语言、自动检测文件类型、节点折叠、缩进引导线、双窗口与多子窗口、F11 全屏切换、鼠标滚轮缩放、邻行互换、宏功能及选中文本字节数显示等便于读者在安装后快速了解其编辑能力。目前已有 2640 人学习适合需要跨平台使用 Notepad 或想了解 Wine 方案的技术人员参考。1. Mac 上跑 Notepad为什么官方没有却依然有人装成了如果你是从 Windows 转过来的开发者大概率会在某个深夜下意识地去找 Notepad 的 Mac 版。结果搜一圈发现官网压根没有 macOS 版本App Store 里也搜不到。这不是你姿势不对而是 Notepad 本身是基于 Win32 API 和 Scintilla 控件构建的 Windows 原生应用官方从未做过跨平台移植。但社区里确实有人把它跑起来了靠的是一个叫 WineBottler 的工具本质上是把 Windows 程序打包成 Mac 能识别的 .app 外壳。这套方案能解决什么问题简单说就是让你在 Mac 上继续用熟悉的 Notepad 界面、快捷键和插件体系不用被迫切换到 VS Code 或 Sublime Text。适合谁适合那些对 Notepad 有强依赖、经常处理日志文件、写脚本、做文本批量替换的从业者。但要注意这不是原生体验输入法、字体渲染、文件关联都可能出幺蛾子。下面我把整个安装链路拆开讲包括每一步的参数含义和容易翻车的地方。2. WineBottler 方案拆解从下载到跑通 Notepad2.1 WineBottler 是什么为什么选它而不是别的WineBottler 是一个 macOS 上的 Wine 前端封装工具它把 Wine 的命令行操作图形化了。Wine 本身是一个兼容层负责把 Windows 的系统调用翻译成 macOS 能理解的指令不需要你装虚拟机或双系统。WineBottler 在此基础上提供了「下载并打包 Windows 应用」的功能内置了一些常见软件的预设脚本Notepad 就在其中。为什么不用 CrossOver 或 ParallelsCrossOver 是商业软件收费且对 Notepad 的支持并不比 WineBottler 好Parallels 是完整虚拟机资源占用大为了一个文本编辑器不值得。WineBottler 免费、开源虽然项目更新频率不高但对付 Notepad 这种轻量级应用足够了。常见做法是去 WineBottler 的官方发布页下载 1.6.x 版本注意不要下成 1.8 以上的开发版那些版本在较新的 macOS 上反而容易崩。2.2 安装 WineBottler 与 Wine 的完整步骤下载完成后你会得到一个 .dmg 镜像文件。打开它里面有两个东西WineBottler.app 和 Wine.app。这两个必须一起拖进「应用程序」文件夹缺一不可。Wine.app 是底层兼容层WineBottler.app 是图形化封装工具只复制其中一个会导致后续步骤报错「Wine not found」。# 假设你已经把 dmg 挂载到了 /Volumes/WineBottler # 用命令行复制比拖拽更可靠能避免权限问题 cp -R /Volumes/WineBottler/WineBottler.app /Applications/ cp -R /Volumes/WineBottler/Wine.app /Applications/ # 复制完成后去掉隔离属性否则 macOS 会拦截 xattr -dr com.apple.quarantine /Applications/WineBottler.app xattr -dr com.apple.quarantine /Applications/Wine.app上面这段命令做了两件事第一把两个 app 复制到系统应用程序目录保证全局可调用第二移除 macOS 的隔离标记。从网上下载的 app 默认带 quarantine 属性双击会提示「无法打开因为来自身份不明的开发者」。用xattr -dr递归清除后就能正常启动了。如果你习惯用图形界面也可以在「系统设置 → 隐私与安全性」里点「仍要打开」效果一样。2.3 用 WineBottler 下载并封装 Notepad打开 WineBottler你会看到三个选项卡Download、Create Custom、Advanced。直接选 Download在搜索框里输入 notepad列表里会出现 Notepad 的条目。点击它WineBottler 会自动从官方源拉取 Notepad 的 Windows 安装包。接下来是命名环节。WineBottler 会问你把这个 app 叫什么默认是 Notepad你可以改成任何名字比如npp-mac。这个名字决定了最终生成的 .app 文件名也决定了它在 Launchpad 里显示的名称。建议不要用中文或空格避免后续路径解析出问题。点击 Install 后WineBottler 会执行以下动作下载 Notepad 安装程序 → 在 Wine 环境里静默安装 → 把安装好的文件打包成一个独立的 macOS 应用 → 输出到「应用程序」文件夹。整个过程视网速而定通常三到五分钟。完成后你会在「应用程序」里看到一个 Notepad 图标双击就能启动。2.4 首次运行与更新处理第一次启动可能会比较慢因为 Wine 需要初始化一个虚拟的 Windows 环境包括注册表、字体缓存、DLL 加载等。耐心等十几秒Notepad 的界面就会出来。如果卡在启动画面不动大概率是 Wine 版本和 macOS 版本不兼容可以尝试右键点击 app → 显示包内容 → 找到 Wine 的配置目录手动调整 Windows 版本号为 Windows 7 或 Windows 10。Notepad 启动后如果提示有新版本可以直接点更新。更新程序会在 Wine 环境里运行下载新版安装包并覆盖旧文件。更新完成后选择「Restart Notepad」重启后版本号就会刷新。注意更新过程中不要强制退出否则可能导致 Wine 环境损坏只能删掉重新封装。3. 避坑与排查Mac 上跑 Notepad 的五个血泪经验3.1 启动报错「Wine cannot find the FreeType font library」现象双击 Notepad 图标后弹窗提示找不到 FreeType 字体库程序直接退出。原因WineBottler 1.6.x 自带的 Wine 版本较老在 macOS 10.15 及以上系统中系统自带的 FreeType 库路径变了Wine 找不到。解决手动安装 FreeType 并软链接到 Wine 的库目录。用 Homebrew 执行brew install freetype然后把/usr/local/lib/libfreetype.dylib链接到 Wine 的lib目录下。如果不想折腾直接换用 WineBottler 的 1.8 开发版虽然不稳定但字体问题已修复。3.2 中文输入法无法切换现象在 Notepad 里打字只能输入英文按 CommandSpace 切换输入法没反应。原因Wine 的输入法处理机制和 macOS 原生输入法不兼容它只认 Windows 的 IME 接口。解决常见做法是在 Wine 配置里把输入法模式改成「XIM」然后在 macOS 上安装一个 XIM 兼容的输入法比如鼠须管。或者更简单在外部编辑器里写好中文再粘贴进 Notepad。我一般会备一个 VS Code 专门用来输入中文Notepad 只做查看和批量替换。3.3 文件关联失效双击 .txt 不打开 Notepad现象在 Finder 里双击一个 .txt 文件系统默认用「文本编辑」打开右键「打开方式」里也找不到 Notepad。原因WineBottler 生成的 .app 没有向 macOS 注册文件类型关联Launch Services 数据库里没有它的记录。解决手动重建 Launch Services 数据库。执行/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user然后重启 Finder。如果还是不行用open -a Notepad file.txt命令行方式打开或者装一个 RCDefaultApp 来强制指定关联。3.4 插件安装后无法加载现象把 Python Script 插件放进 Notepad 的 plugins 目录重启后菜单里没有出现。原因Wine 环境下的插件路径和 Windows 不一样而且 32 位和 64 位插件不能混用。解决先确认 Notepad 的位数在「帮助 → 关于」里看是 32-bit 还是 64-bit。然后去插件官网下载对应版本解压后放到~/.wine/drive_c/Program Files/Notepad/plugins下。注意WineBottler 生成的 app 把 Wine 环境藏在 app 包内部路径是Notepad.app/Contents/Resources/wineprefix/drive_c/别放错地方。3.5 升级 macOS 后 Notepad 打不开现象系统从 macOS 12 升到 13 或 14 后Notepad 图标变成问号双击无反应。原因macOS 大版本更新会重置安全策略Wine 的代码签名失效Gatekeeper 直接拦截。解决重新执行xattr -dr com.apple.quarantine清除隔离属性然后去「系统设置 → 隐私与安全性」里点「仍要打开」。如果还不行只能重新用 WineBottler 封装一次因为旧版 Wine 的二进制可能已经不兼容新系统了。4. 进阶技巧让 Notepad 在 Mac 上更顺手4.1 用命令行快速启动并传入文件WineBottler 生成的 app 支持通过open命令传参。你可以把下面这行 alias 加到~/.zshrc里# 用 npp 命令快速打开文件 alias nppopen -a Notepad --args # 使用示例npp ~/logs/app.log这样你在终端里敲npp 文件名就能直接用 Notepad 打开不用先切到 Finder 再拖拽。参数--args后面的内容会作为命令行参数传给 Wine 环境里的 Notepad 可执行文件效果和 Windows 上的notepad file.txt一样。4.2 配置外部工具实现一键格式化Notepad 的「运行 → 运行」功能可以调用外部命令。在 Mac 上你可以把它指向 Homebrew 安装的格式化工具比如clang-format或prettier。具体做法打开「运行 → 运行」输入# 对当前文件执行 clang-format 并替换原文件 /usr/local/bin/clang-format -i $(FULL_CURRENT_PATH)然后点「保存」给它起个名字比如Format C/C分配一个快捷键。这样在 Notepad 里按快捷键就能直接格式化代码不用切到终端。注意FULL_CURRENT_PATH是 Notepad 的内置变量会被替换成当前文件的完整路径。Wine 环境下路径会被转换成 Windows 风格但 clang-format 能识别实测可行。4.3 用 Python Script 插件做批量文本处理Python Script 是 Notepad 上最实用的插件之一可以写 Python 脚本操作当前文档。在 Wine 环境下安装后把脚本放到plugins/PythonScript/scripts目录然后在「插件 → Python Script → Scripts」里就能调用。# 示例把当前文档里的所有 Tab 替换成 4 个空格 # 保存为 tabs_to_spaces.py放到 scripts 目录 editor.setText(editor.getText().replace(\t, ))这段脚本调用了 Notepad 的 Scintilla 接口editor.getText()获取全文replace做替换setText写回。逻辑很简单但批量处理日志或配置文件时非常省事。参数方面\t是 Tab 字符 是四个空格你可以按项目规范改成两个空格或八个空格。4.4 验证安装是否完整的检查清单装完之后别急着关掉。按下面这几条过一遍确认没有暗坑检查项预期结果异常处理启动速度10 秒内出现界面超过 30 秒检查 Wine 版本中文显示打开 UTF-8 文件不乱码在「编码」菜单里手动切 UTF-8插件加载Python Script 菜单可见检查插件位数是否匹配文件保存保存后 Finder 里能看到检查 Wine 映射的磁盘路径快捷键CtrlS 能保存在「设置 → 快捷键」里重绑这张表是我每次重装后都会走一遍的流程。尤其是中文显示和插件加载这两个最容易出问题。如果全部通过说明这套 WineBottler 方案在你机器上已经稳定了。从那以后我每次换 Mac 或升级系统都会先把 WineBottler 和 Notepad 的封装包备份到移动硬盘里因为重新下载和封装的时间成本太高而且旧版本 Wine 在新系统上不一定能跑通。希望帮到你。本文还有配套的精品资源点击获取