
简介Notepad是一款专为Windows平台设计的开源源代码编辑器以轻量、免费、功能丰富著称面向程序员、系统管理员以及需要频繁处理文本的普通用户可解决多语言代码编写和跨环境文本编辑的痛点。安装包为zip格式总文件数104个以xml配置文件、dll功能组件和exe程序文件为主其中xml负责插件与界面配置dll提供JSON查看、导出、转换等扩展能力exe则包含主程序、升级程序及卸载程序整体仅3.9MB获取和部署成本极低。基于Scintilla编辑控件Notepad原生支持语法高亮、代码折叠、多文档编辑、宏记录与书签并能自动检测文件编码、在多编码格式间转换方便处理来自不同系统的文档。插件体系涵盖JSON视图、导出、转换等常用工具用户还可按需添加版本控制、语言支持、界面自定义等扩展能力。截至目前该资源已有2200人浏览学习适合日常开发、脚本修改、日志分析等各类文本处理场景有助于提升编码与调试效率。1. Notepad安装包下载先搞清楚这个编辑器值不值得你花五分钟你在搜索引擎里敲下“Notepad安装包下载”的时候多半已经受够了Windows自带的记事本几十MB的文件打开就卡UTF-8 没有签名时另存会变成乱码更不用说正则替换和列编辑这些写代码时常要用的功能。Notepad是Windows上最经典的免费文本编辑器开源、体积小、启动快语法高亮覆盖几十种语言而且插件生态能把一个“能打开的记事本”变成半个IDE。但下载安装这步渠道、安装包类型、数字签名校验三个细节不处理好后续可能遇到捆绑软件或者插件失效的坑。这篇文章我按自己多年重装、迁移配置的顺序把下载、安装、初始化、Python Script插件用法和常见故障一次讲透。2. 官方渠道与安装包选择安装版和zip绿色版差在哪先回答一个问题为什么“安装包下载”还要单独写一章因为Notepad的下载页同时提供两种包体还有多个镜像渠道选错一个轻则装了半天发现权限有问题重则下载到了被人改造过的捆绑包。我把自己的选择逻辑拆成三块渠道、包体、校验。2.1 官网与GitHub Releases两个真正可信的下载来源常见做法是优先从项目官网下载。官网首页顶部就有“Download”入口点击后你会看到当前最新稳定版的下载按钮和发行说明。这里注意一个细节如果你需要的是旧版本或某些历史版官网只保留最近几个更早的版本要去GitHub Releases页面按Tag翻阅。无论是官网还是GitHub下载入口都会把“exe安装版”和“zip绿色版”分开列出默认只给最新版。为什么不能用搜索引擎结果里的下载站很多第三方下载站为了盈利会捆绑浏览器首页修改、推广安装或者别的广告组件。而Notepad安装包本质上是一个开源的NSIS脚本生成的安装程序任何第三方对安装包的改动都无法从界面看得出来等到你安装完才发现多了东西就晚了。所以我的习惯是只认官网和GitHub Releases其他任何域名都当成风险源。另外点击官网下载后浏览器下载列表里能见到文件签名信息。右键下载好的exe在“数字签名”标签页能看到“IRIS”或“Notepad”相关的签名者名称。如果签名信息缺失、失效或显示“未知发布者”就说明这个文件不是原版或者传输过程中被破坏了。注意GitHub Release页面里也会标注签名者两个渠道的文件哈希应当一致。提示官网上的下载链接一般会先跳转到GitHub Release的资产页再从assets下载文件这是正常的不必误以为被劫持。2.2 exe安装版 vs zip绿色版适合谁、怎么选Notepad的两种包体用同一个源码构建核心功能没有差别差别全在“运行方式”和“配置位置”。对比项exe安装版zip绿色版安装方式运行安装程序写入Program Files解压到任意目录运行notepad.exe配置存储默认在%APPDATA%\Notepad在zip解压目录下的config.xml等文件右键菜单安装时自动注册需要手动注册或导入注册表便携迁移配置跟随用户账户重装系统后需导出配置在目录里整个目录拷走就是新机更新方式提示更新覆盖安装重新下载zip替换文件适用场景个人固定电脑、需要系统级文件关联U盘携带、公司电脑不装软件、多版本共存我一般会这么选如果是自己的主力Windows电脑用exe安装版最省心安装程序会帮你搞定右键菜单、文件关联和更新提醒配置文件虽然存在%APPDATA%但Notepad在导出配置方面做得也很顺手菜单栏“设置-首选项-打开配置目录”可以直接定位。如果是在公司电脑、实验室共用电脑或U盘上做紧急编辑zip绿色版更值得用因为你不需要管理员权限也不要在系统盘留下安装痕迹。还有一点zip绿色版拿到后解压路径尽量不要带中文和空格以外的一些特殊符号比如带“#”或“”的目录某些插件加载时会因为路径字符问题翻车。放在类似“D:\Tools\Notepad”这样简洁的目录下最稳。2.3 校验下载包哈希防止下载到被改过的文件哈希校验看起来是“老派操作”但在我经历过一次官网下载的安装包传输到一半断掉、无法安装之后我再也不敢跳过这一步。官方在GitHub Release页面和官网下载说明中都提供了每个文件的SHA-256哈希值。下载完成后打开PowerShell或命令提示符用命令计算本地文件的哈希再跟页面上的值比对完全相同才敢运行。下面是PowerShell下的校验命令Windows 10/11自带# 计算指定文件的SHA-256哈希值 Get-FileHash -Algorithm SHA256 -Path D:\Downloads\npp.8.6.x.Installer.exe执行后屏幕会输出一个64位的十六进制字符串。把它和官网所列的哈希值逐字符比对看不清的话可以用以下命令生成一个全部小写的字符串方便复制PowerShell(Get-FileHash -Algorithm SHA256 -Path D:\Downloads\npp.8.6.x.Installer.exe).Hash.ToLower()参数说明-Algorithm SHA256指定加密哈希算法-Path后面是安装包的完整路径。如果你的Windows没有Get-FileHash也可以使用旧的certutil命令certutil -hashfile D:\Downloads\npp.8.6.x.Installer.exe SHA256。两边的输出是等价的。校验的意义不是为了较真而是为了确保这个安装包是“干净的”源文件、签名、哈希三者一致安装时的行为才可预期。大多数第三方下载站不会同时伪造哈希和签名这一步能拦截掉绝大多数冒牌货。写到这里下载阶段已经完成了。下一个阶段是安装和初始化我们把关注点从“拿包”转向“落盘”。3. 从下载到能写代码安装、初始化和语言设置的完整步骤3.1 执行安装程序这些安装选项按需勾选双击exe安装包后第一个界面一般是选择安装界面的语言简体中文和繁体中文都直接可选。接着进入许可协议确认再之后是“安装选项”面板这是最容易忽略的地方。常见选项包括为所有用户安装需要管理员权限、创建桌面快捷方式、创建右键菜单、加入“在此目录中打开”等。我的建议是个人开发机勾上“右键菜单”和“以管理员身份运行时的备份选项”但不必全部勾选。具体看你要做什么如果你经常用Notepad查看配置文件那么桌面快捷方式和右键菜单就值得保留如果你只在特定工作流里通过命令行调用那么什么都不勾也完全可以。注意不要盲目勾选“关联所有文件类型”那会把.txt、.log、.xml等文档的默认打开方式全部抢过来之后想改回去还要去Windows设置里折腾。安装路径一条尽量选择无空格的目录例如“C:\Program Files\Notepad”是默认的实际路径包含空格但Notepad能处理。如果使用zip绿色版则不存在安装选项直接解压到自选目录就可以。安装完成后首次启动会提示“用Notepad打开”。这实际上是询问是否在文件打开方式中加入Notepad选“是”或“否”都可以后面随时能在系统设置里调整。3.2 首次启动三件事界面语言、跟随主题和文件关联新版Notepad首次启动时如果安装包选了中文界面就是中文如果英文界面先打开菜单“Settings - Preferences - General”在“Localization”里切换为“中文简体”重启即可。第二件事是主题。在“设置-首选项-界面-主题”下拉菜单里有Deafult、Dark Mode等多个选项。写代码的人一般更喜欢深色选第一个“暗色主题”就可以。切换后文件菜单里的自定义颜色也会跟着变化。主题不只影响外观也影响语法高亮配色所以尽早确定不要一边写代码一边频繁切换。第三件事是文件关联。打开“设置-首选项-文件关联”手动把你要用Notepad打开的扩展名加进去比如.log、.ini、.conf、.py。注意这里的“关联”不是覆盖系统默认打开方式而是在右键“打开方式”列表里增加Notepad。真正要改系统默认关联需要到Windows“设置-应用-默认应用”里操作。我一般只关联日志类和自己写的脚本类把代码文件的默认程序留给IDE。完成这三件事后Notepad的基础体验就已经超过默认记事本了。接下来还有一个更重要的决定用安装版还是便携配置。如果你用的是zip绿色版以下这段尤其重要。3.3 便携式使用配置目录的迁移与备份便携版zip绿色版的精髓是“配置跟着目录走”。第一次运行便携版时它会在解压目录下生成config.xml、session.xml、shortcuts.xml等配置文件插件目录也在plugins子目录下。这意味着你可以把整个目录打到压缩包里拷贝到另一台Windows电脑解压后所有设置、快捷键、已安装插件全部保留。这正是很多人选zip绿色版的核心原因。迁移时注意三点一是目录里要保留localization子目录否则切换中文会失效二是如果原来用的安装版想把配置迁移到便携版可以复制%APPDATA%\Notepad\config.xml到便携版的对应位置但要注意路径字段里可能写死了原来的安装目录需要用文本编辑器打开config.xml把GUIConfig nameAppDataPath里的值改掉否则便携版的相对路径不生效三是插件目录不要直接整个覆盖先在不带插件的情况下启动一次确认版本匹配后再放进插件文件。对多数人来说安装版和便携版不必纠结东西都做完了再想迁移也来得及。真正容易让新手翻车的是下面这几种看起来不起眼其实很要命的故障。下一章我把这些年踩过的五个高频问题写出来每条都按“现象-原因-解决”的顺序展开。4. Notepad安装与使用常见问题排查五个踩坑记录4.1 下载的exe被SmartScreen拦截先别急着绕过现象双击从官网下载的安装包Windows弹窗显示“已保护你的电脑”提示“Windows Defender SmartScreen已阻止启动一个未识别的应用”。原因安装包虽然有签名但如果这个版本是新发布而本机安全库还没更新SmartScreen就会先拦一下。另外浏览器下载属性里如果保留着“保存到磁盘时被标记为来自互联网”的区域也会加重拦截概率。解决确认下载源是官网或GitHub Releases后点击弹窗里的“更多信息”再点击“仍要运行”。仍然不放心可以先右键安装包选择“属性”在“数字签名”页签里查看签名者名称。如果签名者是“Notepad”或“IRIS”相关名字就可以放行。不要从一个可信度不明的下载站遇到拦截时强行绕过因为那可能是真正的恶意改造包。4.2 安装后插件菜单里没有Python Script现象装完Notepad在“插件”菜单里翻遍了也没找到Python Script。原因Notepad插件分为内置插件和第三方插件Python Script属于第三方插件安装版默认不包含。而且插件管理器Plugins Admin在较新版本里只提供部分插件Python Script维护较慢没有被官方默认收录。更常见的是位数不匹配Notepad有32位和64位两个版本Python Script也有对应的版本装错后插件列表根本不会出现。解决到Python Script的官方发布页下载与Notepad位数一致的那一个。解压后把PythonScript.dll和scripts文件夹放到Notepad安装目录下的plugins目录里。注意新版Notepad对第三方插件有安全校验如果你安装的是开发版插件需要到“设置-首选项-插件”中开启“允许加载外部插件”之类的选项具体位置不同版本略有差异。重启Notepad后插件菜单下就会多出Python Script如果没有再检查位数和目录名是否写对。4.3 打开大文件卡死运行时一度无响应现象打开一个400MB的服务器日志文件Notepad整个界面白屏点击菜单没有反应等待数分钟后才恢复甚至不得不从任务管理器强杀。原因Notepad的编辑控件Scintilla默认会对整个文件做分词和语法高亮。如果该日志语言没有关键词集它会按常规文本处理但长行超过几万字符的行会让渲染性能急剧下降。另外当你拖动滚动条时控件需要实时计算换行和着色也容易卡死。解决打开这种文件之前先把文件类型设置为“普通文本”在菜单“语言”里取消勾选该文件对应的语言高亮或者更暴力一点在“设置-首选项-文件关联”里把该扩展名的“语言”设为“无”。如果对内容没有编辑需求可以使用只读模式再加精确搜索这样能明显降低渲染压力。还有一个辅助方法是把窗口最大化或者关掉状态栏显示会减少刷新开销。超过2GB的文件我还是会用更专业的流式工具但几百MB的日志Notepad按上述方法可以撑下来。4.4 保存出来是乱码UTF-8带签名与无签名到底选哪个现象在Notepad里看着正常的文本保存后用浏览器打开变成一堆乱码或者从网站上下载的UTF-8文件在记事本里显示乱码。原因Notepad的编码菜单里有“UTF-8”和“UTF-8 BOM”两个选项。旧版Windows记事本默认认为UTF-8文件必须有BOM文件头三字节没有BOM就按ANSI解码。而很多现代网页和代码文件用的是无BOM的UTF-8两者混用时就会乱码。解决要在编辑器本地把文本保存为无BOM的UTF-8写作完成后用“编码”菜单选择“转为UTF-8 编码无签名”保存后不要用Windows记事本打开检查而是用浏览器或“查看源代码”验证。如果目标平台要求带BOM那么保存时选“带签名”的UTF-8。我的习惯是写代码和配置文件一律无BOM写Excel/文本互换用的固定文件才考虑BOM。一旦项目里已经混入带BOM和无BOM文件用Notepad打开会看到一个隐藏字符这时再用“编码-转为UTF-8 无签名”批量归一化即可。4.5 升级Notepad后插件全部失效现象从旧版升级到最新版后“插件”菜单里的第三方插件全部消失或者打开时报错提示“不兼容”。原因Notepad升级时旧版插件如果未经适配其二进制接口可能不再被新版本接受。另一个诱因是升级后插件目录被重新创建旧插件被留在了备份目录或旧路径里程序只扫描新版默认目录。新版还对插件增加了更严格的安全验证未签名的插件默认不加载这也是很多插件在升级后“人间蒸发”的原因。解决升级前先备份整个“plugins”目录尤其那些已经停止维护的插件比如Python Script、NppExec。升级后第一次启动把旧插件逐个放回新plugins目录并在“设置-首选项-插件”里检查是否需要开启“允许未知插件”选项。对于确实不再兼容的插件不要硬装去插件官网看是否有对应新版。血的教训我常用环境里装了十来个插件升级后最省事的方案不是逐个试而是先清空plugins目录启动一次再把插件按依赖从新到旧逐个添加每次添加后重启验证。这样即便翻车也能定位是哪一枚插件导致的问题。5. Python Script插件用法从宏录制到脚本处理文本的落地实战5.1 安装Python Script插件管理器 vs 手动解压Notepad的插件历史上经历过一次“管理器”演变早期大家用Plugin Manager在插件浏览器里点击安装后来因为插件管理器自身不再随包发布官方更推荐用“Plugins Admin”对话框安装列表里的插件。但Python Script并没有被默认收录在最新版的管理列表里所以最可靠的方式还是手动安装。手动安装的步骤是先确认Notepad的位数。打开“帮助-关于Notepad”在“编译信息”里找到“64-bit”或“32-bit”。然后到Python Script的官方发布地址包含在Notepad官网的“插件”页面或项目的Release区下载对应位数的zip包。解压后查看里面的结构应该包含一个PythonScript目录里面放着PythonScript.dll和scripts子目录。把这个PythonScript目录整体复制到Notepad安装目录下的plugins文件夹里。这里有两个极容易踩坑的点。一是插件目录名必须是PythonScript不能是PythonScript-2.1.0之类否则Notepad按目录名加载插件会找不到dll。二是下载时要注意Notepad版本比如旧版插件对8.5以上的适配情况不一如果启动时报错先看看错误弹窗是不是“cannot find python27.dll”或“invalid plugin”。如果你装了Python 3.10不用担心Python Script插件依赖的是内部打包的Python运行时跟你系统里的Python版本没有关系。安装完成后重启Notepad菜单栏会出现“插件-Python Script”子菜单。如果没出现回到4.2节检查位数和目录名。5.2 第一个脚本批量给选中行加行号Python Script最直接的使用场景是把重复的文本处理变成脚本。我拿最常用的一个“行首加序号”来演示。打开Notepad随便输入几行文字用鼠标选中它们。然后进入“插件-Python Script-New Script”输入一个名字比如“add_line_number”点保存后就会进入内置的Python编辑器在其中粘贴以下代码# 给选中文本的每一行行首添加序号从1开始 def add_sequence(s): lines s.split(\n) return \n.join(f{i1}: {line} for i, line in enumerate(lines)) selected editor.getSelText() # 获取当前选中的文本 if selected: editor.replaceSel(add_sequence(selected)) # 用结果替换选区保存脚本后点“插件-Python Script-Scripts”在列表中找到add_line_number点击运行你会看到选中的几行文本全部变成了“1: xxx”形式。逻辑说明editor是Notepad中暴露的Scintilla编辑器对象getSelText()返回当前选中区间的文本replaceSel(text)使用给定文本替换选中区间。函数add_sequence先按换行符把文本拆成列表再用列表推导式加上序号后重新拼接。注意这里使用了Python 3的f-string但Python Script插件内置的Python版本可能较旧有些版本内置Python 2.7如果你的插件版本较老建议改用format写法def add_sequence(s): lines s.split(\n) return \n.join({}: {}.format(i1, line) for i, line in enumerate(lines))参数说明没有额外参数。运行方式是全量替换选区。如果你想只给非空行加序号可以在循环里加判断让空行保持空行不会出现“3: ”这种突兀序号。5.3 理解editor、notepad、console三个核心APIPython Script脚本里最关键的是三个对象了解它们就能从“照抄脚本”升级到“写自己的脚本”。editorScintilla编辑器对象负责文本的读取、写入、查找、替换以及选区、书签、折叠等操作。常见方法有editor.getText()、editor.setText()、editor.getSelText()、editor.replaceSel()、editor.findText()。notepadNotepad主程序对象负责菜单、tab、当前文档等。常见方法有notepad.getCurrentFilename()、notepad.saveCurrentFile()、notepad.openFile()、notepad.messageBox()。consolePython Script的控制台窗口用来输出调试信息。console.write(hello\n)会在插件自带的输出面板里打印内容最常用于确认脚本执行到哪一行。下面这段脚本示范同时使用三个对象获取当前文件名打印到控制台并弹出一个提示框。# 获取当前文件名并在控制台输出 filename notepad.getCurrentFilename() console.write(当前文件: filename \n) notepad.messageBox(正在处理: filename, Python Script, 0)说明console.write的参数是字符串末尾要手写换行否则会连在一起。notepad.messageBox第一个参数是正文第二个是标题第三个是按钮类型0表示只有“确定”。实际写脚本时控制台适合做运行记录messageBox适合让脚本停下来等你确认。另一个常用组合是把编辑器选中的文本作为输入处理完后再写回。为了避免替换改变选区位置建议先用editor.getSelText()拿到文本算好新文本后再调用editor.replaceSel()。替换前如果文本很长先考虑对超大选区是否会影响内存最好先判断文本长度if len(selected) 500000: console.write(文本过长为避免卡住直接放弃处理\n) else: editor.replaceSel(new_text)这算是一个习惯性的自我保护处理日志类数据时很实用。5.4 把脚本绑定到快捷键写好的脚本如果在菜单里点一次两次可以频率高了就烦了。Python Script允许你把脚本挂到“设置-快捷键管理-插件”里。打开“设置-快捷键管理”在“过滤器”里输入你的脚本名比如add_line_number然后选中它点击“修改”按下一个组合键例如Alt1保存。之后在Notepad里无论光标在哪个文件选中文本按Alt1脚本立刻生效。还有一个更省心的做法把脚本配置成工具栏按钮。在“插件-Python Script-Configuration”里选择你的脚本点击“Add Command”然后在“工具栏”标签页看到它把它拖到工具栏特定位置。但这在较新版本里不一定仍然可选我的经验是快捷键管理最稳定因为它是Notepad主菜单的通用机制和插件版本耦合最低。绑定快捷键时注意Python Script内部自带菜单项如果你在快捷键管理里找不到脚本名可以先尝试“插件-Python Script-Show Console”打开控制台看有没有报错。如果脚本运行时异常菜单的右键项里通常会有一个黄色的错误标记鼠标悬停能看到traceback。及时修复脚本里的语法错误否则快捷键绑定后按了没反应你会误以为没绑定上。另外建议把常用脚本统一放到一个单独的目录比如plugins\PythonScript\scripts\my_tools这样手动备份时只需要复制这个目录。脚本才是Notepad的灵魂。下一章我再分享三个能提升日常体验的进阶技巧顺便验证你的安装包和配置是否真正健康。6. 进阶三个顺手技巧帮你把Notepad用成趁手的工具6.1 用“多实例模式”验证便携配置如果你在用zip绿色版打开“设置-首选项-多实例”勾选“在打开新文件时创建新实例”这样每次双击文件都会启动一个独立的Notepad进程。这很适合验证便携配置是否干净以一个实例启动安装并配置好所有插件关闭后重新用另一个实例打开确认配置仍生效。注意多实例模式下不同实例的会话文件不同别指望数据自动合并。6.2 用命令行参数打开文件并定位到指定行在做日志分析或者配合自动化工具时命令行参数非常有价值。在PowerShell或“运行”框里敲入notepad -n 200 D:\logs\server.log-n 200表示启动后把光标定位到第200行适合读大日志时快速跳到出错位置。配合-c参数列号可以定位到精确位置。如果notepad.exe不在PATH环境变量里先写上完整路径例如C:\Program Files\Notepad\notepad.exe -n 200 D:\logs\server.log。6.3 用NppExec插件一键运行当前Python文件NppExec是另一个老牌插件能直接在Notepad内部执行外部命令。安装后在插件控制台中输入python $(FULL_CURRENT_PATH)并保存为命令再通过快捷键运行就不用来回切换编辑器和终端。注意要先把“工作目录”设置为$(CURRENT_DIRECTORY)否则Python运行时代码里的相对路径找不到文件。我从第一次下载Notepad安装包到现在已经快十年的使用习惯里踩过插件失效的坑也经历过便携配置迁移翻车最深的感触是这个编辑器不折腾但前提是你得把下载源头、配置目录和插件机制这三个黑匣子打开看一遍。以上就是在安装、初始化和插件使用过程中我能给你的全部经验希望帮到你。本文还有配套的精品资源点击获取