简介:Notepad++ 是一款面向程序员与编程学习者的 Windows 免费源代码编辑器,适合日常代码编写、文本处理、远程文件编辑与轻量级开发调试。它支持多语言语法高亮、自动缩进、代码折叠、多文档编辑、正则表达式搜索替换、宏录制回放,并内置 FTP/SFTP 与插件扩展能力,同时支持多编码与自动补全,可在较低配置电脑上流畅运行。压缩包为 rar 格式,共 392 个文件,约 4.56MB,内含 exe 与 dll 运行主体、xml/ini 配置、png/gif/ico 界面图标,以及 html/css/js 等辅助页面资源,便于直接使用与按需配置。读者可借助语法高亮快速阅读源码,用正则替换批量整理文本,通过宏与插件减少重复操作,也能直接编辑远程服务器文件。目前已有 1087 人学习下载,适合希望以轻量工具提升编码效率、减少记事本局限的开发者参考使用。
1. 装完打不开文件:Notepad++ 最容易翻车的一步其实在点“下一步”之前
Notepad++ 这种编程软件,安装过程看起来几乎没有难度:双击安装包、一路“下一步”、完成,三分钟就能结束。真正让人翻车的地方都在装完以后:某开发者把 Notepad++ 装进默认的 Program Files 目录,调好了缩进、编码和配色,第二天开机全部回到默认值;还有人拿到的是 32 位安装包,在 64 位系统上装完,插件管理里装的 DLL 一个都不显示;也有人的配置文件明明改过,重启后却又变成旧版本,只能反复重装。
这些都是安装阶段埋下的问题,谈不上玄学:安装包形态选错、位数对不上、配置目录落在没有写权限的位置、安装流程里默认勾选的选项被一路点过。Notepad++ 几乎是 Windows 上写脚本、改配置、看日志的默认工具,装一次要用好几年,所以这几十秒的选择值得认真对待。下面的步骤按“装前确认、安装、配置、排错、验证”的顺序展开,目标是照着走完能得到一套能长期使用的编辑器环境。
2. 装前清单:Notepad++ 8.x 的安装包形态、位数与落盘位置
动手之前先把三件事定下来:用哪种安装包、装 32 位还是 64 位、放在哪个目录。这三项在安装向导里点错,后面靠改配置基本补不回来,只能卸载重装。
2.1 三种安装包形态:安装版、便携版、精简包各管什么场景
Notepad++ 官方发布页上的文件不少,常见的是.Installer.x64.exe、.portable.x64.zip和.minimalist.7z三类。名字里的8.x.x是具体小版本号,以你实际下载到的为准,不同小版本的向导页面基本一致,不用太纠结差异。
| 包形态 | 典型文件名 | 适用场景 | 需要注意 |
|---|---|---|---|
| 安装版 | npp.8.x.x.Installer.x64.exe | 自己长期使用的开发机 | 默认装进 Program Files,配置文件落在%APPDATA% |
| 便携版 | npp.8.x.x.portable.x64.zip | U 盘携带、多台机器共用、不想留注册表 | 必须补一个doLocalConf.xml才真正进入便携模式 |
| 精简包 | npp.8.x.x.minimalist.x64.7z | 只用来改配置、看日志,不需要插件和主题 | 不含部分自带组件,插件需要自己补目录 |
我一般的取舍是:天天用的主力开发机装安装版,方便右键菜单和文件关联;临时排查、去客户现场、在别人机器上改两行脚本,用便携版解压到固定目录。精简包用得少,除非目标是做一个体积很小的分发环境。
这里有个血泪经验:便携版解压出来直接双击 exe,它并不认为自己是便携的,配置照样写进%APPDATA%\Notepad++,和安装版共用一套配置。等到两台机器上的设置互相冲突,才发现问题。真正切便携模式的开关,是程序目录下一个名为doLocalConf.xml的空文件——文件存在,配置就落在程序目录下的config.xml里;文件不存在,就回到用户目录。
2.2 位数与系统版本:64 位优先,但别想当然
现在主流机器都是 64 位 Windows,优先选 x64 安装包,能用的内存更多,打开大文件时更从容。32 位包仍然存在,主要给老机器和老插件环境用。
| 你的情况 | 选择 | 理由 |
|---|---|---|
| 64 位 Windows 10/11,插件需求不特殊 | x64 安装版 | 默认路径清晰,插件生态齐全 |
| 需要跑只在 32 位下提供的旧插件 | x86 安装版 | 插件 DLL 位数必须和主程序一致 |
| 系统是 32 位老机器 | x86 | 64 位程序跑不起来 |
| U 盘随身带、目标机器不确定 | x64 便携版,另备一份 x86 | 位数不匹配时直接换包,不用现场下载 |
位数这件事最容易被忽略的后果不是程序打不开,而是插件装了没反应。Notepad++ 的插件是 DLL,主程序 64 位、插件 32 位时,程序不会报错,只是插件菜单里什么都没有,看起来像“插件管理坏了”。所以装完之后第一件事,我会去“帮助 → 关于”里确认位数,和插件来源对一遍。
至于系统版本,新版本 Notepad++ 对老系统的支持在逐步收窄。如果你的机器还停在很老的 Windows 上,先确认安装包能正常启动再谈配置,别一上来就装插件。
2.3 安装路径与权限:别装进 Program Files 又去手改配置
安装版默认落在C:\Program Files\Notepad++,程序本体放这里没问题,但配置如果也要读写这个目录,就需要管理员权限,而 Notepad++ 默认是非管理员运行的。结果就是:你在界面上改了设置,程序写不进config.xml,重启后配置回滚。这不是 bug,是权限问题。
我的目录规划是这样的:
- 程序本体:安装版走默认
C:\Program Files\Notepad++;便携版固定放D:\tools\notepad++。 - 配置:安装版用默认的
%APPDATA%\Notepad++,这个目录当前用户可写,最省事。 - 备份:单独一个
D:\env-backup\npp之类的位置,不放在程序目录里,卸载重装不受影响。
如果确实要把便携版放到需要管理员权限的目录(比如C:\Program Files下),Windows 会启用目录虚拟化,配置写到虚拟存储区里,你在程序目录根本找不到config.xml,排查时会怀疑人生。这种情况下要么换目录,要么启动时用参数显式指定配置路径。
创建目录这一步用命令行做,顺手把路径记进笔记:
# 便携版固定落盘位置,路径里不要带空格和中文,省得后续命令行调用要转义 $dir = "D:\tools\notepad++" New-Item -ItemType Directory -Path $dir -Force | Out-Null Write-Output "便携版目录已准备:$dir"这段没什么技巧,重点是路径别带空格。后面要用命令行调用notepad++,路径里有空格时,脚本里每一处调用都得加引号,很容易在某处漏掉,然后出现“命令找不到”的假故障。
3. 安装实操:从下载校验到首次启动,每一步选什么
安装向导一共就那么几页,但每页都有默认勾选,一路回车的结果是:装了不需要的组件、把文件关联全改掉、更新检查在后台跑。下面按向导顺序过一遍。
3.1 下载与校验:先对一遍 SHA-256 再双击
从官方发布页下载对应包之后,不要急着双击。发布页通常会给出安装包的哈希值,本地算一遍对一下,能挡掉下载中断、镜像不一致这类问题。安装包损坏的典型表现是双击后一闪而过,或者安装到一半报“文件损坏”,很容易被误判成安全软件拦截。
# 计算下载包的 SHA-256,和发布页给出的值逐位比对 Get-FileHash -Algorithm SHA256 .\npp.8.x.x.Installer.x64.exe | Format-List # 如果手上还有官方提供的校验文件,可以直接比对 $actual = (Get-FileHash -Algorithm SHA256 .\npp.8.x.x.Installer.x64.exe).Hash $expect = "把发布页上的哈希粘到这里" if ($actual -eq $expect) { "校验通过" } else { "校验不一致,重新下载" }-Algorithm SHA256指定摘要算法;Format-List只是让输出换行显示,方便肉眼比对。哈希不一致就别装了,重新下载一次成本远低于装完排查半天。校验通过后,顺手把安装包归档到一个固定的D:\soft\目录,以后重装不用再找。
3.2 安装向导逐页选择:哪些勾、哪些别勾
安装向导的页面顺序是:许可协议 → 安装位置 → 组件选择 → 完成页选项。真正需要动脑的是第三页和第四页。
组件页通常包含这几类:核心程序、右键菜单(在资源管理器里加“Edit with Notepad++”)、文件关联、自动更新组件。我的勾选习惯是:
| 组件 | 建议 | 说明 |
|---|---|---|
| 核心程序 | 必选 | 主程序本体,无法取消 |
| 右键菜单 | 勾选 | 排查问题、临时改配置文件时非常好用 |
| 常见文本/代码文件关联 | 视情况 | 关联.txt、.log可以;不建议抢占.json、.xml的默认打开方式 |
| 自动更新组件 | 视情况 | 内网或受管控机器建议不勾,更新行为交给统一的软件分发 |
文件关联这一项是最容易后悔的。Notepad++ 装完把.json、.xml、.yml全关联过去,结果 IDE 里双击配置文件跑到 Notepad++ 打开,用一阵子就会想重装系统。我的做法是只关联那些“本来就是纯文本”的扩展名,代码文件交给对应的 IDE。
安装位置页保持默认即可,如果要改,改成一个当前用户可写的路径。完成页上通常会有“打开 Notepad++”之类的勾选项,先取消,第一次启动我们手动来,方便观察有没有报错。
安装完成后验证程序是否真的落地:
# 确认主程序存在,并查看安装目录的构成 $npp = "C:\Program Files\Notepad++\notepad++.exe" Test-Path $npp Get-ChildItem (Split-Path $npp) | Select-Object Name, Length | Format-TableTest-Path返回True说明主程序在位;目录列表里能看到plugins、updater、themes这些子目录,说明是完整安装。如果只有 exe 没有plugins目录,多半下的是精简包,装插件的流程会不太一样。
3.3 便携版落地:解压、补开关文件、验证配置位置
便携版的安装其实就三步,但第三步经常被漏掉。
# 1. 解压到固定目录(覆盖式,方便以后升级) $dir = "D:\tools\notepad++" Expand-Archive -Path .\npp.8.x.x.portable.x64.zip -DestinationPath $dir -Force # 2. 创建空文件,切换到便携模式:配置写到程序目录,不碰 %APPDATA% New-Item -ItemType File -Path "$dir\doLocalConf.xml" -Force | Out-Null # 3. 启动一次,确认 config.xml 生成在程序目录下 Start-Process "$dir\notepad++.exe" Start-Sleep -Seconds 3 Get-ChildItem "$dir\config.xml" -ErrorAction SilentlyContinueExpand-Archive -Force表示目标目录存在时直接覆盖,升级便携版时不用先删目录(但记得先备份config.xml)。doLocalConf.xml是空文件,内容不重要,存在即生效。第三步是关键验证:如果config.xml没出现在程序目录,而%APPDATA%\Notepad++下多了一个,说明开关没生效,通常是因为文件被解压到了上一级目录,或者文件名被系统自动加上了后缀。
便携版还有个细节:升级时解压覆盖会把config.xml一起覆盖掉。稳妥的做法是每次升级前把整个目录压缩一份,或者至少把config.xml、shortcuts.xml、userDefineLang.xml和plugins目录复制出去。
4. 配置落地:把 Notepad++ 调成能长期干活的编辑器
装完只是能用,配置好才是好用。这一章改的都是“改一次管几年”的项:编码、缩进、备份、插件、命令行调用。每改一项都记下位置,出问题时知道去哪儿回滚。
4.1 首选项必改的四项:编码、换行符、缩进、会话备份
打开“设置 → 首选项”,有四项建议第一天就定下来:
- 新建文档的编码:设成 UTF-8(无 BOM)。不设的话,新建文件按系统 ANSI 处理,中文写进去再交给其他工具读,就是乱码源头。
- 新建文档的换行符:统一成 Unix 的 LF,还是保留 Windows 的 CRLF,取决于你主要维护哪类文件。跨平台项目统一 LF,纯 Windows 脚本可以留 CRLF。
- 缩进:Tab 换成空格,宽度 4 或按团队规范。混合缩进在 diff 里非常难看。
- 备份与会话:开启会话快照和定期备份。Notepad++ 默认可能没开,改完代码忘了保存、进程被结束,开了快照能从备份目录里捞回来。
这些设置不是记在心里就行,它们会写进config.xml,值得知道自己改的是什么:
<!-- 从 %APPDATA%\Notepad++\config.xml 里能搜到下面这些节点名 --> <!-- 界面上的改动会同步落到对应节点,属性值以本机实际生成的为准 --> <NotepadPlus> <GUIConfigs> <GUIConfig name="NewDocDefaultSettings" /> <!-- 新文档的默认编码、换行符、语言 --> <GUIConfig name="Backup" /> <!-- 会话快照与定期备份策略 --> <GUIConfig name="ScintillaPrimaryView" /> <!-- 行号、缩进参考线、空白符号显示 --> </GUIConfigs> <FindHistory /> <!-- 搜索历史,会缓慢变大 --> </NotepadPlus>为什么要知道节点名?因为每次换机器迁移时,最省事的做法不是照着截图点一遍,而是把config.xml拷过去,然后打开首选项确认这三处和预期一致。如果某次改完重启发现设置回滚,也可以直接看这个文件有没有被更新——文件时间戳没变,说明写入失败,回头去查权限。
4.2 配置文件在哪:四个文件决定你 80% 的体验
Notepad++ 的配置不止一个文件,但真正值得备份的只有四个:
| 文件 | 位置 | 管什么 |
|---|---|---|
config.xml | %APPDATA%\Notepad++\或便携版程序目录 | 绝大多数界面设置、编码、备份策略 |
shortcuts.xml | 同上 | 自定义快捷键、宏、运行命令 |
session.xml | 同上 | 上次打开的标签页与会话 |
userDefineLang.xml | 同上 | 自定义语法高亮 |
插件配置在plugins\子目录下,每装一个插件会多一个文件夹。备份时整个目录一起打包最省心:
# 先退出 Notepad++,运行中备份可能拿到写了一半的 config.xml Get-Process notepad++ -ErrorAction SilentlyContinue | Stop-Process -Force Start-Sleep -Seconds 2 $src = "$env:APPDATA\Notepad++" $dst = "D:\env-backup\notepad++-$(Get-Date -Format yyyyMMdd-HHmm)" New-Item -ItemType Directory -Path $dst -Force | Out-Null Copy-Item "$src\*" -Destination $dst -Recurse -Force Write-Output "已备份到 $dst"Stop-Process -Force是为了确保配置文件已经落盘。Notepad++ 退出时会写session.xml,强制结束进程可能导致会话丢失,所以这个脚本适合“准备重装/迁移”时用,不适合日常反复跑。日常备份用程序自带的定期备份功能就够。
迁移到新机器时,先装程序,再退出,然后把备份目录下的内容覆盖到新的配置目录,重新启动。快捷键、主题、自定义语言一次到位,省掉一小时的重复劳动。
4.3 插件安装:Plugin Admin 与位数这条红线
插件走“插件 → Plugin Admin”是最省事的方式,搜索、勾选、安装,重启生效。需要注意的只有三条:
第一,位数必须一致。64 位主程序只能加载 64 位插件 DLL,32 位同理。装完插件菜单里没东西,先查这个。
第二,插件目录的位置跟着配置目录走。安装版在%APPDATA%\Notepad++\plugins,便携版在程序目录的plugins下。手动拷 DLL 时如果放错位置,程序不会报错,只是不加载。
第三,Plugin Admin 需要能访问插件源。内网或受管控的机器上,插件列表刷不出来很常见,这时候改用手动方式:从可信来源拿到对应位数的 DLL,建同名子目录放进去。
# 手动安装插件:每个插件一个独立子目录,目录名和 DLL 名一致 $pluginDir = "$env:APPDATA\Notepad++\plugins\MyPlugin" New-Item -ItemType Directory -Path $pluginDir -Force | Out-Null Copy-Item .\MyPlugin.dll -Destination $pluginDir -Force # 确认目录结构:plugins\插件名\插件名.dll Get-ChildItem $pluginDir -Recurse | Select-Object FullNameplugins\插件名\插件名.dll这个层级不能少一层,直接扔在plugins根目录下是不被识别的。装完重启,去“插件”菜单确认出现对应条目,再决定要不要保留。插件装多了启动会慢,我这边的习惯是只留格式化、比对、JSON 查看这三类实际用得上的插件。
4.4 命令行与右键:把 Notepad++ 接进你的工作流
Notepad++ 在运维场景里的高频用法,是命令行直接打开文件并定位到出错行,比在图形界面里翻目录快得多。
# 打开脚本并定位到第 42 行,-ro 只读打开,防止误改生产配置 notepad++ -n42 -ro ./deploy.sh # 打开最近一次日志的最后部分,-nosession 不加载上次的标签页,启动更快 notepad++ -nosession ./logs/app.log-n后面跟行号,中间不留空格;-ro表示只读,看日志和线上配置时我基本都会带;-nosession跳过会话恢复,适合在脚本里调用,避免每次都把上次开的十几个标签页拉起来。还有-p参数可以指定独立的配置目录,用来隔离不同项目的插件和主题组合,比如测试环境和生产巡检各用一套。
要让notepad++这个命令在任意目录可用,得把程序目录加进 PATH:
# 只改当前用户的 PATH,不需要管理员权限;重复执行不会重复追加 $npp = "C:\Program Files\Notepad++" $old = [Environment]::GetEnvironmentVariable("Path", "User") if ($old -notlike "*$npp*") { [Environment]::SetEnvironmentVariable("Path", "$old;$npp", "User") "已追加到用户 PATH,新开终端生效" } else { "PATH 里已存在,跳过" }改完必须新开一个终端窗口才生效,在原来那个窗口里敲notepad++会提示找不到命令,这个“假故障”我见过不止一次。-notlike那层判断是为了防止反复执行把同一个路径追加很多遍,PATH 长了以后排查问题很麻烦。
5. 排查避坑:Notepad++ 装完不能用的五个常见问题
下面五条是这几年被问得最多、也最容易误判成程序 bug 的情况。每条按现象、原因、解决记一遍,遇到时按顺序对号入座。
5.1 双击没反应,任务管理器里一闪而过
现象:安装过程正常结束,双击桌面图标毫无反应,或者进程列表里闪一下就消失,没有任何报错弹窗。
原因:最常见的是安全软件拦截。Notepad++ 安装后会带一个更新组件,部分安全软件会对这类行为做拦截,把主程序或更新组件静默隔离;其次是安装包本身不完整,安装向导跑完了但文件没解压全。
解决:先去安全软件的隔离区看看有没有相关记录,把安装目录加进信任列表,然后卸载重装。重装前用 3.1 的哈希校验确认安装包完整。如果机器上装过旧版本且卸载不干净,先手动删掉残留的程序目录再装。排除完之后,用命令行直接调notepad++.exe,报错信息比双击详细。
5.2 打开中文文件乱码,改完保存又乱回去
现象:打开同事发来的.txt或.java,中文显示成方块或问号;用“编码 → 转为 UTF-8”改好保存,再打开又变回乱码。
原因:文件本身是 GBK 或 GB18030 编码,Notepad++ 按 ANSI 或 UTF-8 去解码,就对不上。只改显示编码不重新保存,等于什么都没做;“转为 UTF-8”是重新编码,才会真正写进文件。
解决:先确认源文件编码——看文件来源,老系统的导出文件大概率是 GBK。用“编码 → 字符集 → 中文 → GB2312/GBK”正确显示,再用“编码 → 转为 UTF-8”存成通用格式。长期方案是把新建文档默认编码设成 UTF-8,并在首选项里打开“ANSI 文件按 UTF-8 打开”相关的兼容选项,减少下次踩同一个坑的概率。
5.3 改完设置重启就回滚
现象:缩进、主题、编码全部调好,关掉再开,全部回到默认值。反复改反复丢,像是配置没保存。
原因:程序对配置目录没有写权限。典型情况是便携版放在了C:\Program Files这类需要管理员权限的目录,或者安装版的%APPDATA%\Notepad++被安全策略限制写入。文件和目录都在,但写不进去,程序不报错,只是配置不生效。
解决:便携版换到用户可写目录,比如D:\tools\notepad++;确实要放在受控目录,就用-p参数把配置目录指到别处。安装版检查%APPDATA%\Notepad++\config.xml的文件时间戳,改完设置后没有更新就是权限问题,右键属性里看安全选项卡,补上当前用户的写入权限。
5.4 插件装上但菜单里没有
现象:Plugin Admin 显示安装成功,重启后“插件”菜单里一条新条目都没有;手动拷 DLL 到plugins目录也一样。
原因:排序下来三个:位数不匹配(64 位主程序 + 32 位插件)、目录层级少了(DLL 必须在plugins\插件名\插件名.dll)、插件本身不兼容当前主版本。
解决:先确认主程序位数,再核对插件位数,不一致就换包。目录层级用 4.3 的脚本重建一遍,别手动拖拽。前两条都排除后,去插件自身的发布页确认它支持的版本范围,老插件在新版本上不加载是正常现象,换一个功能相近的替代品比折腾兼容性更划算。
5.5 打开大日志直接卡死
现象:点开一个几百 MB 的日志文件,界面长时间无响应,最后要么恢复,要么整个进程消失。
原因:大文件会触发语法高亮、自动检测文件编码、会话恢复这几项开销,叠加起来很容易卡住。如果这个文件还在被其他进程持续写入,情况更糟。
解决:用命令行加-nosession打开,跳过会话恢复;打开前先在首选项里关掉当前语言的语法高亮,或者用纯文本模式打开。几百 MB 以上的文件,现实一点的做法是先用tail、grep之类的命令切出关注片段再看,别指望图形编辑器硬扛。
6. 装完怎么验证:四个动作确认这套 Notepad++ 真能干活
装完不验证,等于把问题留到 deadline 前一天。我的习惯是用四个动作走一遍,全程五分钟,能把绝大多数安装阶段的坑提前暴露出来。
| 验证项 | 操作 | 期望结果 | 不通过怎么查 |
|---|---|---|---|
| 版本与位数 | 帮助 → 关于 | 版本号与下载包一致,位数正确 | 装错包,卸载重装 |
| 配置持久化 | 改缩进宽度,退出,重开 | 设置保留 | 查 5.3 的权限问题 |
| 编码闭环 | 新建文件写中文,存 UTF-8,用命令行读回 | 内容一致不乱码 | 查默认编码设置 |
| 命令行调用 | 新终端执行notepad++ -n1 文件 | 正常打开并定位 | 查 PATH 是否生效 |
第一个动作看版本,重点不是对比小版本号,而是确认位数。64 位机器上装了 32 位包,程序能跑,但插件生态会一直是半残状态,越晚发现越麻烦。
第二个动作验配置持久化。随便改一项设置,完全退出程序,再打开看还在不在。这一步专治“装在 Program Files 又手改配置”和“便携模式没生效”两种问题,早发现能省掉一次重装。
第三个动作验编码闭环,最值得做:
# 用 Notepad++ 存一个 UTF-8 的中文文件,再用命令行读回比对 $file = "D:\tmp\enc-check.txt" Get-Content $file -Encoding UTF8 | Select-Object -First 3-Encoding UTF8明确按 UTF-8 解码读取,如果读出来是乱码,说明保存时用的不是 UTF-8,回头检查首选项里的新建文档编码。这一步做完,跨平台传文件的乱码问题基本绝迹。
第四个动作验命令行。新开一个终端(不是原来那个),执行notepad++ -n1 某个文件,能打开并定位到第一行就说明 PATH 生效。不生效就重跑 4.4 的脚本,注意 PATH 是“用户变量”还是“系统变量”,两者改混了现象一模一样。
最后一个保留动作是备份:把配置目录整体复制到D:\env-backup\下面,命名带上日期。这一步不验证任何东西,只是给自己留后悔药。
那次重装折腾到半夜之后,我每次装完 Notepad++ 都强制走一遍这四个动作,尤其是位数和编码闭环这两项——它们不验证也不会立刻出问题,只是在某个赶时间的下午突然发作。希望这套流程能帮你少走一次弯路,把时间留给真正要写的代码。
本文还有配套的精品资源,点击获取