简介:Notepad++ 7.3.2 官方免安装版面向程序员、开发人员及需要频繁编辑代码的进阶用户,解决在中文环境下高效编写与阅读源码的问题。解压即可运行,省去安装步骤,适合随身携带或临时环境使用。压缩包共143个文件,以132个xml配置文件和5个dll动态库为主,另有2个exe可执行文件、2个txt说明文档、1个log更新日志与1个ini配置文件,整体约2.97MB。其中xml文件定义语言模型、样式、函数列表、上下文菜单与快捷键,dll支撑语法高亮、代码折叠与插件管理,exe为程序主体。该版本支持C、C++、Java、Python、JavaScript、HTML、XML等多种语言的语法高亮,并提供多文档界面、宏录制回放与插件扩展能力。已有2493人学习下载,适合希望快速获得稳定、可自定义编辑环境的开发者参考使用。
1. Notepad++ 7.3.2 免安装版:为什么老工程师的 U 盘里总留着一份
你有没有遇到过这种场景:跑到客户机房,内网隔离,跳板机上一堆 Windows Server 2008,想改个 nginx.conf 或者看一眼 SQL 脚本,系统自带的记事本打开大文件直接卡死,编码还全是乱码。这时候如果 U 盘里有一个解压就能跑的 Notepad++ 7.3.2 免安装版,双击 exe 就能用,改完即走,不留痕迹,这就是它最核心的价值。
Notepad++ 7.3.2 是 2017 年初发布的版本,放在今天看确实不新,但它在 XP / 2003 / Win7 这些老系统上的兼容性反而比新版更稳。免安装(portable)版本意味着所有配置、插件、会话都写在程序目录下,不碰注册表,不写 AppData,拷到哪台机器上都是同一套环境。这篇文章面向的是需要随身携带编辑器、经常在隔离环境里干活、或者想给老机器配一个轻量文本工具的运维和开发人员。我会把从哪拿、怎么配、参数怎么调、哪些坑必须绕开,按我自己的实操顺序讲清楚。
2. 免安装版和安装版到底差在哪:先搞清目录结构再动手
2.1 便携模式的文件布局与配置落点
很多人以为免安装版就是把安装目录打包一下,其实 Notepad++ 的便携模式有明确的目录约定。你解压之后看到的根目录里,关键文件是这几个:
| 文件/目录 | 作用 | 便携模式下的行为 |
|---|---|---|
| notepad++.exe | 主程序 | 启动时检测同目录下是否有doLocalConf.xml |
| doLocalConf.xml | 便携模式开关 | 存在则强制配置写入程序目录 |
| config.xml | 主配置 | 记录字体、主题、最近文件、会话 |
| session.xml | 会话快照 | 关闭时保存打开的文件列表 |
| plugins/ | 插件目录 | 插件 DLL 放这里,配置也随程序走 |
| themes/ | 主题目录 | 自定义配色放这里 |
| userDefineLangs/ | 自定义语言 | 自建语法高亮放这里 |
| backup/ | 备份目录 | 自动保存的临时文件落在这里 |
判断一个包是不是真正的便携版,最简单的办法就是看根目录有没有doLocalConf.xml。如果没有,程序启动后仍然会去%APPDATA%\Notepad++读写配置,你换一台机器配置就丢了。我一般会手动补一个空的doLocalConf.xml,内容就一行:
<!-- 便携模式开关,存在即生效,内容无所谓 --> <NotepadPlus></NotepadPlus>这个文件的作用是告诉主程序「别去 AppData 找配置,就在我自己的目录里读写」。补完之后重启 Notepad++,你会发现config.xml和session.xml开始出现在程序根目录,而不是用户目录。这一步是后面所有配置能跟着 U 盘走的前提。
注意:如果你之前已经用安装版跑过,AppData 里存了旧配置,便携版首次启动可能会把旧配置读进来。建议在干净机器上先删掉
%APPDATA%\Notepad++再启动便携版,避免配置串味。
2.2 7.3.2 这个版本号为什么值得单独拎出来
新版 Notepad++ 早就到 8.x 了,为什么还要盯着 7.3.2?原因有三个,都是实际干活碰出来的。
第一是系统兼容性。7.3.2 官方仍然提供 ANSI 和 Unicode 两个构建,Unicode 版在 Win7 SP1 及以上都能跑,而 8.x 之后的版本对 Win7 的支持越来越勉强,某些老 Server 系统上会直接报缺少 API。第二是插件生态。7.3.2 对应的是 Plugin Manager 还在内置的年代,装插件不用手动去 GitHub 翻 DLL,菜单里点两下就行。第三是体积和启动速度,7.3.2 的安装包不到 4MB,解压后整个目录也就十几 MB,塞进 U 盘甚至邮件附件都不费劲。
当然代价也要说清楚:7.3.2 不支持一些新语法高亮,比如较新的 Python 3.10 匹配语法、部分 JSON5 特性,需要自己补 userDefineLangs。另外它的默认编码探测逻辑比新版保守,遇到 UTF-8 无 BOM 的中文文件偶尔会猜成 ANSI,这个后面在避坑章节会专门讲怎么处理。
2.3 拿到包之后先做的三件事
假设你已经拿到了一个 7.3.2 的免安装压缩包,解压到比如D:\Tools\npp732。别急着打开文件,先按顺序做这三步。
第一步,确认便携开关。前面说了,检查doLocalConf.xml是否存在,没有就补上。这一步决定了你后面所有配置是跟着 U 盘走还是跟着机器走。
第二步,建一个自己的工作目录结构。我习惯在程序目录旁边建两个文件夹:
# 在 npp732 同级目录下建立工作区 mkdir -p D:/Tools/npp_workspace/scripts mkdir -p D:/Tools/npp_workspace/logs mkdir -p D:/Tools/npp_workspace/backupscripts放常用脚本片段,logs放临时打开的日志,backup用来兜底自动保存。这样做的目的是把「程序」和「数据」分开,将来升级 Notepad++ 版本时,直接把新程序解压到新目录,工作区不用动。
第三步,首次启动后立刻改两个设置。打开「设置 → 首选项 → 备份」,把「会话快照」和「定期备份」都勾上,备份路径指向你刚建的backup目录。然后去「设置 → 首选项 → 新建」,把默认编码设成 UTF-8 无 BOM,默认换行符设成 LF。这两项改完,后面处理跨平台文件会省很多事。
3. 把 7.3.2 配成顺手的日常工具:编码、语法高亮与插件
3.1 编码设置:UTF-8 无 BOM 与 ANSI 的切换逻辑
Notepad++ 7.3.2 的编码菜单里有好几项,新手最容易懵的是「UTF-8」和「UTF-8 无 BOM」的区别。简单说,BOM 是文件开头三个不可见字节EF BB BF,Windows 上的记事本喜欢加,Linux 和大多数构建工具不喜欢。你写 shell 脚本、Python 脚本、nginx 配置,一律用 UTF-8 无 BOM;你处理 Windows 下导出的 CSV、老系统的 INI,可能得用 ANSI 或者带 BOM 的 UTF-8。
我一般把默认新建编码设成 UTF-8 无 BOM,操作路径是「设置 → 首选项 → 新建 → 编码 → UTF-8(无 BOM)」。对于已经打开的文件,底部状态栏会显示当前编码,双击可以快速切换。这里有个实用技巧:如果你打开一个中文文件显示乱码,不要急着关,点「编码 → 字符集 → 中文 → GB2312」试一下,大概率能救回来。救回来之后再用「编码 → 转为 UTF-8 无 BOM」转码保存,以后就不会再乱。
批量转码可以用 Python 脚本配合 Notepad++ 的外部工具功能来做。比如你有一堆 GBK 编码的 .txt 要转 UTF-8:
# batch_convert.py # 用法:python batch_convert.py <目录> <源编码> <目标编码> import os import sys def convert_dir(root, src_enc, dst_enc): for dirpath, _, filenames in os.walk(root): for name in filenames: if not name.lower().endswith(('.txt', '.log', '.conf', '.ini')): continue path = os.path.join(dirpath, name) try: with open(path, 'r', encoding=src_enc) as f: content = f.read() with open(path, 'w', encoding=dst_enc, newline='\n') as f: f.write(content) print('OK ', path) except Exception as e: print('FAIL', path, e) if __name__ == '__main__': convert_dir(sys.argv[1], sys.argv[2], sys.argv[3])这个脚本的逻辑很直白:遍历目录,按源编码读,按目标编码写,换行统一成 LF。参数说明:第一个参数是目录路径,第二个是源编码(比如gbk),第三个是目标编码(比如utf-8)。跑之前一定先备份,编码转换是不可逆操作,转错了没有后悔药。我一般会先拿一个文件试跑,确认内容正常再批量。
3.2 语法高亮与自定义语言:让 7.3.2 认识新语法
7.3.2 内置的语言列表到 2017 年为止,像 Vue、TypeScript、较新的 YAML 特性都不在里面。但 Notepad++ 支持自定义语言,你可以自己写 XML 定义文件放到userDefineLangs/目录。
以给 7.3.2 加一个简单的 Vue 单文件高亮为例,思路是把<template>、<script>、<style>三个块分别按 HTML、JavaScript、CSS 处理。完整实现比较复杂,但一个够用的最小定义可以这样写:
<!-- userDefineLangs/vue-mini.xml --> <NotepadPlus> <UserLang name="VueMini" ext="vue"> <Settings> <Global caseIgnored="no" /> <TreatAsSymbol comment="no" commentLine="no" /> </Settings> <KeywordLists> <Keywords name="instre1">template script style</Keywords> </KeywordLists> <Styles> <Style name="DEFAULT" fore="000000" back="FFFFFF" /> <Style name="INSTRE1" fore="0000FF" bold="yes" /> </Styles> </UserLang> </NotepadPlus>这个定义只做了最基础的关键字着色,把template、script、style标蓝加粗。参数说明:ext="vue"表示对 .vue 文件生效,instre1是自定义关键字列表,fore是前景色十六进制。写完保存到userDefineLangs/,重启 Notepad++,在「语言」菜单里就能看到 VueMini。想要更完整的高亮,可以去社区找现成的 XML,但注意 7.3.2 的解析器不支持太新的语法特性,遇到加载失败就退回最小定义。
3.3 插件安装:Plugin Manager 的用法与替代方案
7.3.2 自带 Plugin Manager,路径是「插件 → Plugin Manager → Show Plugin Manager」。打开之后在 Available 标签页里勾选想要的插件,点 Install 就行。常用的几个我列一下:
- Compare:文件对比,改配置的时候特别有用,能直接看出两版差异。
- JSON Viewer:格式化 JSON,调 API 返回值的时候省得去网页工具。
- Explorer:在侧边栏显示文件树,替代资源管理器。
- NppFTP:内置 FTP/SFTP 客户端,直接编辑远程文件。
- TextFX:老牌文本处理工具集,排序、去重、编码转换都有。
装插件时有个坑:Plugin Manager 的插件源是 http 的,某些网络环境下会下载失败。如果遇到这种情况,可以手动去插件的发布页下 DLL,放到plugins/目录下对应名字的子文件夹里。比如 Compare 插件就放到plugins/Compare/ComparePlugin.dll。放好之后重启,插件菜单里就会出现。
注意:7.3.2 是 32 位程序,只能装 32 位插件。如果你手头只有 64 位 DLL,装了也不会加载,别在这上面浪费时间。
4. 免安装版最容易翻车的五个地方:排查与规避
4.1 配置不跟着走:doLocalConf.xml 缺失或权限不足
现象:明明把整个目录拷到新机器上,打开却发现字体、主题、最近文件全没了,跟新装的一样。
原因:根目录缺少doLocalConf.xml,程序仍然去%APPDATA%\Notepad++读写配置。新机器上没有这个目录,自然就是默认配置。
解决:在程序根目录补一个doLocalConf.xml,内容随意,重启即可。如果补了还是不行,检查程序目录是否有写权限,某些情况下 U 盘被设为只读,或者程序放在C:\Program Files下没有写权限,配置同样写不进去。把程序挪到用户目录或 U 盘根目录再试。
4.2 中文乱码:编码探测猜错,越存越乱
现象:打开一个中文文件,显示一堆问号或者方块,手动切到 GB2312 能正常显示,但一保存又乱了。
原因:7.3.2 的编码探测对 UTF-8 无 BOM 文件不够敏感,容易猜成 ANSI。如果你在乱码状态下直接保存,程序会按当前错误编码写回,原文件就被破坏了。
解决:打开文件后先看底部状态栏的编码标识,如果是 ANSI 但内容明显是中文,点「编码 → 字符集 → 中文 → GB2312」或「GBK」试。显示正常后,立刻用「编码 → 转为 UTF-8 无 BOM」转码,再保存。养成习惯:改任何非 ASCII 文件之前,先确认编码正确,再动手编辑。
4.3 大文件卡死:默认配置不适合几百 MB 的日志
现象:打开一个 300MB 的日志文件,Notepad++ 直接无响应,等几分钟才出来,滚动还卡。
原因:7.3.2 默认会做语法高亮、行号计算、自动换行,这些对超大文件都是负担。而且它没有内置的大文件模式。
解决:打开大文件之前,先关掉语法高亮(语言 → 普通文本),关掉自动换行(视图 → 自动换行),关掉行号(设置 → 首选项 → 编辑 → 显示行号)。如果还是卡,就别用 Notepad++ 了,换less、glogg或者专门的日志工具。Notepad++ 的舒适区大概在 50MB 以内,超过这个量级要有心理准备。
4.4 插件冲突:装多了启动报错或菜单消失
现象:装了几个插件之后,Notepad++ 启动时报「插件加载失败」,或者插件菜单整个不见了。
原因:插件之间依赖的 DLL 版本冲突,或者某个插件本身不兼容 7.3.2。常见的是装了多个都依赖NppPlugin.dll不同版本的插件。
解决:先看启动时的错误提示,记下是哪个插件报错。然后去plugins/目录,把可疑插件的文件夹临时改名(比如加个.bak后缀),重启验证。确认是哪个插件的问题后,要么找兼容 7.3.2 的旧版本,要么放弃它。我一般只留 Compare、JSON Viewer、Explorer 三个,够用且稳定。
4.5 会话恢复失败:session.xml 损坏或路径变化
现象:上次关的时候开了一堆文件,这次打开 Notepad++ 没有恢复,或者恢复了一部分但路径全是错的。
原因:session.xml记录的是绝对路径,如果你把 U 盘从E:插到F:,路径就对不上了。另外程序异常退出时session.xml可能写了一半,导致损坏。
解决:路径变化的问题没法根治,只能尽量固定盘符,或者用相对路径的工作区文件(Project → New Workspace)来管理。session.xml损坏的话,直接删掉它,重启后会生成新的,代价是丢失上次的会话。想减少损失,可以在「设置 → 首选项 → 备份」里开启「定期备份」,备份文件在backup/目录下,能找回一部分内容。
5. 把 7.3.2 用出花:宏、外部工具与随身工作流
5.1 录制宏处理重复格式化
Notepad++ 的宏功能在 7.3.2 里已经很好用了。比如你经常要把一批 SQL 查询结果里的制表符换成逗号,手动做很烦,录一个宏就行。操作路径:「宏 → 开始录制」,然后做一遍操作:Ctrl+H 打开替换,查找\t,替换为,,点全部替换,关闭对话框。然后「宏 → 停止录制」,再「宏 → 保存当前录制的宏」,起个名字比如tab2comma。以后按快捷键或者从宏菜单里点一下就能跑。
宏保存在shortcuts.xml里,跟着程序目录走,换机器也在。如果宏比较复杂,还可以直接编辑shortcuts.xml来微调,但注意 XML 格式别写坏,改之前备份。
5.2 外部工具集成:一键跑脚本、格式化 JSON
「运行 → 运行」可以执行外部命令,但更规范的做法是用「运行 → 外部工具」来配。我一般配三个:
| 工具名 | 命令 | 用途 |
|---|---|---|
| Format JSON | python -m json.tool "$(FULL_CURRENT_PATH)" | 格式化当前 JSON |
| Run Python | python "$(FULL_CURRENT_PATH)" | 直接跑当前脚本 |
| Git Diff | git diff "$(FULL_CURRENT_PATH)" | 看当前文件改动 |
配置路径是「运行 → 外部工具 → 新建」,填名字和命令,$(FULL_CURRENT_PATH)是 Notepad++ 的内置变量,代表当前文件完整路径。配好之后在「运行」菜单里就能直接调用。这样你就不用切到终端去敲命令,编辑和验证在同一个窗口里完成。
5.3 随身工作流的目录组织与同步策略
最后说一个我用了很多年的习惯:把 Notepad++ 免安装版和你的工作文件放在同一个 U 盘或者同步目录里,按下面的结构组织:
usb_root/ ├── npp732/ # Notepad++ 程序目录 │ ├── notepad++.exe │ ├── doLocalConf.xml │ ├── config.xml │ └── plugins/ ├── workspace/ # 工作文件 │ ├── scripts/ # 常用脚本 │ ├── configs/ # 配置文件模板 │ └── notes/ # 笔记 └── sync/ # 同步目录(可选)这样不管插到哪台机器上,打开npp732/notepad++.exe,你的字体、主题、插件、宏、最近文件全都在。工作文件在workspace/下,用相对路径引用,盘符变了也不影响。如果需要在多台机器之间同步,可以把整个usb_root放到网盘同步目录里,但注意session.xml和backup/会频繁变动,同步时容易冲突,建议把这两个排除掉。
我自己的教训是:早年图省事,把 Notepad++ 装在系统盘,配置全在 AppData,结果换机器、重装系统之后,攒了好几年的自定义语言和宏全丢了,重新配花了大半天。从那以后我就只用免安装版,所有配置跟着程序走,U 盘一拔,环境随身带。这个习惯看起来土,但在隔离环境里干活的时候,能省掉太多重新配置的时间。希望帮到你。
本文还有配套的精品资源,点击获取