资讯详情

Notepad++实战:安装配置、正则替换与Python Script自动化

📅 2026/10/4 2:08:08 | 华诺云谱 👁 阅读
Notepad++实战:安装配置、正则替换与Python Script自动化
简介Notepad是一款面向程序员与文本处理用户的免费源代码编辑器支持C、Java、Python、PHP等多种语言的语法高亮与代码折叠以轻量、高效、可扩展著称常用于替代Windows系统自带记事本。资源包共含392个文件压缩后仅4.56MB其中XML配置、PNG图标、HTML帮助文档、CSS样式、DLL运行库、JS脚本等类型一应俱全可满足安装部署、界面定制与功能扩展需求。目前已有1084人浏览学习。借助自动缩进、正则搜索替换、多文档同时编辑、宏录制播放以及FTP/SFTP远程文件操作等特性能显著提升日常编码与文本处理效率配合丰富的插件生态还可实现代码调试、格式化与版本控制集成适合从初学者到资深开发者的各类用户快速上手使用。1. Notepad 凭什么还能打轻量编辑器里它是绕不开的那一个Notepad 是个老牌编辑器很多人觉得它早该被 VS Code 取代可真到日常工作里我发现它依然是最能打的备用选手。启动快、能开大文件、正则替换顺滑、插件生态够用这几个特性加在一起让程序员、测试、运维在批量改日志、写临时脚本、处理编码混乱文件时第一个想到的还是它。这篇就把 Notepad 的下载、安装、高频操、插件玩法和常见坑记录下来照着做十分钟能上手老手也能补上几个平时没注意的参数。2. 把 Notepad 装成趁手工具安装、便携版与初始配置2.1 标准版与便携版怎么选我实际用下来的结论先说结论个人办公电脑用安装版公司机器或 U 盘办公用便携版。安装版会写注册表、关联右键菜单和系统集成度更高例如双击.txt、.log、.ini文件时默认用 Notepad 打开体验很顺。便携版是官方提供的 zip 包解压到任意目录直接运行不写注册表适合没有管理员权限、或者经常换电脑、想把插件和配置一起带走的人。两个版本的内核和插件支持完全一样没有功能阉割。真正需要留意的是位数当前官方 8.x 的安装包默认是 64 位如果你前面装过 32 位旧版升级之前最好先确认常用插件有没有 64 位版本。Python Script、NppExec、Compare 这些热门插件都有双架构版本但个别冷门插件至今只出 32 位装到 64 位里启动时会被禁用处理办法是删掉 DLL 或者回退版本。我这里再提一句便携版的使用细节把整个解压目录放在一个固定的盘符路径下不要放在桌面或 Download 文件夹里。因为便携版会在自己目录下生成plugins和配置文件路径不稳定会导致插件丢失。更推荐的做法是单独建一个PortableApps目录把解压后的 Notepad 文件夹放进去然后右键发送快捷方式到桌面。2.2 启动后的必要配置字体、编码、会话与备份装完先别急着写代码把几个默认值改掉能省下之后大量的翻车时间。打开“设置→首选项”我一般按这个顺序过一遍第一新建文件的编码改成 UTF-8。默认如果是 ANSI粘贴中文再发给别人就很容易乱码。这个选项在“设置→首选项→新建文件→编码”里选 UTF-8 而不是 UTF-8 BOMBOM 会在文件开头塞三个隐藏字节部分老脚本会把它认成非法字符。第二设置自动备份。Notepad 的备份机制不是像 Git 那样的版本管理它做的事情是把当前文件复制到一个指定备份目录间隔可以自己定。我把间隔设为 10 分钟遇到突然断电、程序闪退还能找回最多十分钟前的状态。第三自动完成。我习惯只在输入时显示函数参数提示不勾“输入时显示”里的“单词”因为写 Python 和 PHP 时单词提示比较吵而且处理大文件时对性能有影响。熟手可以把自动完成全部关掉让编辑器干净一点。第四选择主题和字体。在“设置→语言格式设置”里我选深色主题字体用 Consolas、字号 14等宽字体在写代码和日志分析时对齐效果好。下面这张表是我每次装完 Notepad 都要核对一遍的配置配置项推荐值理由新建文件编码UTF-8中文场景下最不容易出乱码自动备份间隔10 分钟崩溃后可找回的损失最小缩进宽度4 空格多数语言社区默认风格自动完成仅函数参数提示手感和性能的平衡主题深色个人偏好看久了不刺眼2.3 会话保存与多视图日常多文件编辑的套路Notepad 退出时会问是否保存会话很多人无意识地点“否”结果第二天打开发现昨天的一组文件标签全没了。其实可以在“设置→首选项→关闭”里设置退出时保存会话并恢复这样工作现场不会因为软件崩溃或手滑关闭而丢失。处理多文件时还有两个小功能很实用。一个是右键标签页选择“移动到其他视图”或“克隆到其他视图”可以把两个文件上下或左右并排搭配“视图→同步滚动”对比两份结构相似的日志或配置文件非常顺手。另一个是标签页的固定功能右键标签页选择“锁定标签页”这个文件就不会被“关闭所有文档”误关。对于常驻的配置模板或参考文档我一般都会锁住。到这里基础环境已经比默认状态好用很多接下来进入真正值钱的实操环节。3. 高频操作实战列编辑、宏录制与正则替换3.1 列编辑模式处理日志和表格的杀手锏很多人在 Notepad 里处理 CSV 或对齐文本还在一个一个改其实列编辑能同时操作多行的同一块矩形区域。举个例子你拿到一份逗号分隔的 IP 和日期列表想在每行行首插入一个序号或者在每行末尾统一加一个逗号用列编辑就是一次完成。操作方式是按住Alt鼠标左键拖出一个竖着的矩形选区这就是列选择。选好区域后按AltC打开“列编辑”对话框里面有“在每行开始插入文本”“在每行结尾插入文本”和“逐列插入数字”三个选项。比如选中行首位置插入文本填#每一行开头就同时多出这个符号勾选“逐列插入数字”可以自动生成从 1 递增的序号起始值可以自定。只改变部分列时可以先看清列边界再做矩形选择。对于那种前后列是固定宽度、中间部分变长的文本列编辑要先按Alt把区域拖出来再用AltShift方向键扩展选区范围边瞄着状态栏的行列坐标边微调。这个方法在处理日志对齐、批量加引号、生成序号时效率比手动改每一行高一个数量级。需要注意列编辑只管矩形范围你框了哪几列它就在哪几列生效不要把整行的内容一起替换掉。3.2 宏录制把重复手工操作压成一次按键场景你有一批文件每个都需要做相同的处理把 TAB 替换成逗号、去掉行尾空格、把文件末尾多余的空行删掉。手工做三遍就烦了这种就该录成宏。操作流程是“宏→开始录制”做完替换、删除等一系列手工动作然后“宏→停止录制”再点“保存当前录制的宏”给它起个名字。之后在“宏”菜单里点一次就能原样放一遍。如果要在多个文件上执行同一套处理给这个宏设置一个快捷键切换文件后按一下即可。默认情况下宏只能回放一次需要批量处理时可以用“宏→回放”指定次数或者通过快捷键手动逐个触发。宏录制的本质是记录操作序列不包含分支判断如果遇到文件结构不一致的内容它照样会在不该替换的地方替换。复杂条件还是得靠后面的 Python Script 插件宏适合解决机械重复、结构稳定的任务。我自己的习惯是先把宏在单个文件上试跑一遍确认输出符合预期再放到文件夹里批量用。批量处理前最好先复制一份原文件到临时目录宏没有事务概念做错了只能手动改回去。3.3 正则替换回溯引用与多行匹配Notepad 的查找对话框勾选“正则表达式”后替换能力在全平台编辑器里都属于第一梯队。这里记几个最常用的例子。把日期格式从2026-09-27改成27/09/2026查找(\d{4})-(\d{2})-(\d{2}) 替换$3/$2/$1$1、$2、$3分别对应第一、第二、第三个括号匹配到的内容。这是刚上手最值得记住的语法回溯引用完成这种字段换序比手工改每一行快得多。另一个高频需求是删掉每行行尾的空格和制表符查找[ \t]$ 替换留空注意默认情况下正则里的.不匹配换行符。要跨行匹配时把.换成[\s\S]。比如把连续的两个换行压缩成一个查找\r\n\r\n替换成\r\n这是踩过坑才会记住的细节。此外Notepad 的正则默认是贪婪匹配匹配到最长的一段要最短匹配在量词后面加问号例如[\s\S]*?。提示正则替换是即时生效的虽然大多可以通过撤销恢复但一次匹配几万个结果时撤销也是对性能的考验。动手替换前先把原文件另存一份大约花一秒钟给自己留后悔药。4. 插件生态与 Python Script让编辑器真正自动化起来4.1 插件管理器安装与 Python Script 环境配置先讲一句血泪经验在 Notepad 里做复杂文本处理与其硬录宏不如直接上 Python Script 插件。它把当前打开的文档暴露给一个 Python 运行时你可以按自己的逻辑逐行处理文件内容还能把结果写回编辑器窗口。当前 8.x 版本已经内置插件管理器路径是“插件→插件管理→显示插件管理”搜索 Python Script勾选安装重启后生效。如果你用的版本在插件管理器里搜不到 Python Script大概率是版本太新或通道不全用 7.x 的稳定版更容易装上。Python Script 的脚本存放目录在用户数据目录下Windows 上一般是%APPDATA%\Notepad\plugins\config\PythonScript\scripts也可以通过插件菜单直接新建脚本编辑器会打开一个新的.py文件。写完后保存脚本就会出现在“插件→Python Script→脚本”的子菜单里点一下执行。脚本目录建议定期备份因为你的批量清洗逻辑都靠这部分删了就得重写。4.2 Python Script 入门操作当前文档Python Script 最常用的三个对象必须知道editor代表当前文档的编辑器对象可以读写全文、执行替换、选区操作console脚本日志窗口用来打印调试信息notepad控制菜单、标签页的程序级对象例如新建文件、关闭当前标签。先看一个最典型的例子给每行非空行加行号。# 示例给每行非空行加行号前缀 import re text editor.getText() lines text.splitlines() out [] for i, line in enumerate(lines, 1): if line.strip(): out.append(f{i}: {line}) else: out.append(line) editor.beginUndoAction() editor.setText(\n.join(out)) editor.endUndoAction()逻辑说明editor.getText()拿到当前文件全文splitlines()按行拆分并自动消掉换行符的\r残留enumerate(lines, 1)从 1 开始计数line.strip()判断空行非空行在开头拼接行号最后通过setText一次性写回整个文档。参数说明beginUndoAction()与endUndoAction()是这套脚本里绝对不能省的两个包裹函数它们把中间的一串操作合并成一个可撤销步骤。不包上去的话脚本执行完会发现编辑器的“撤销”是灰色的想反悔都没门。执行脚本的入口是菜单里点脚本名如果脚本要经常用可以给它配上快捷键在“设置→快捷键管理→插件”里找到脚本对应的命令项分配组合键。4.3 完整案例批量清洗日志文件我做 Nginx 访问日志或应用安全日志时经常要从每一行里提取 IP、时间、日志级别和消息手工用正则替换只有清洗没有结构用 Python Script 可以直接输出一张规整的表格。# 示例从日志行中提取 IP、时间、级别与消息 import re lines editor.getText().splitlines() pattern re.compile(r^(\S)\s\[(\S)\]\s(\w)\s(.*)$) result [] for line in lines: m pattern.match(line) if m: ip, ts, level, msg m.groups() result.append(f{ts} | {level:5} | {ip} | {msg}) console.clear() for r in result: console.write(r \n)逻辑说明先用splitlines()统一换行风格再用正则从每行提取四组字段pattern.match(line)从头匹配能匹配就拆成ip、ts、level、msg四段{level:5}是做右对齐让 ERROR 和 INFO 在输出里整齐排列最后输出到控制台。想直接生成新文件可以把result列表通过setText写到notepad.new()新建的空文档里。参数说明\S匹配不含空格的连续字符\w匹配日志级别(.*)$匹配后续任意内容。如果日志格式变化只需改这一行正则脚本主体不用动。到这里Notepad 已经从一个文本编辑器变成了一个能跑批量处理脚本的平台。下面这部分是使用频率最高、遇到问题也最多的部分。5. 常见问题与避坑Notepad 使用中的几个真坑5.1 打开大文件卡死或失去响应现象双击打开一个 2GB 的日志文件界面卡了几秒到几十秒甚至直接弹出“无响应”提示。原因Notepad 打开文件时会对内容做代码高亮、折叠分析、自动换行计算文件越大、单行越长预处理耗时越长。32 位版本还受内存空间限制2GB 文件往往直接把内存吃满。解决先打开“设置→首选项→自动完成”把与高亮相关的几个选项临时关闭再打开大文件程序本身优先选用 64 位版本内存上限高一些。如果只是要搜索某个关键字不要先打开文件直接用“查找→在文件中查找”定位输出到搜索结果窗口再按需跳转打开。5.2 中文乱码编码不一致导致的玄学现象代码里的中文变成一串“锟斤拷”或问号粘贴的中文也显示异常。原因文件本身是 GBK/ANSI 编码而 Notepad 默认按 UTF-8 解码或者新建文件时编码选的是 ANSI写完后传输到另一台机器上被按 UTF-8 解码。解决打开文件后先在“编码”菜单里试“转为 UTF-8”如果乱码反而加重就选“使用 ANSI 编码重新打开”。多试几次能恢复。编码问题对新手来说确实是门玄学最简单的应对策略是统一工作习惯新建文件默认 UTF-8保存前看状态栏编码标识从别的系统拿来的文件先另存再编辑。注意如果文件里原本的编码信息和字符内容已被替换操作破坏编码转换也救不回来所以拿到外部文件先备份原版再处理。5.3 插件版本不匹配导致启动失败现象启动 Notepad 时弹窗提示“加载插件失败”插件菜单里找不到已经安装的插件。原因最常见的是插件 DLL 位数和主程序不匹配比如把 32 位的插件 DLL 手动放进了 64 位的插件目录另一种原因是旧插件没有跟上主程序的新版本接口。解决插件 DLL 必须放进正确架构的对应目录64 位放安装目录下的plugins/x6432 位放plugins根目录。用内置插件管理器安装的插件一般不会放错手动复制 DLL 时最容易被坑。升级主版本之前先把插件管理器里的所有插件升级一遍再重启验证。5.4 替换后无法撤销现象执行完一轮大范围正则替换后发现规则写错了想撤销但“撤销”按钮是灰的。原因部分插件脚本使用setText直接覆盖全文没有把操作注册进撤销栈宏录制如果没做合并回放过程会被压成一整块无法分步回退。解决Python Script 写回内容时一定用beginUndoAction()和endUndoAction()把操作包起来让替换变成一个可撤销步骤涉及批量替换前一律先备份原文件。这不是产品缺陷是插件机制的边界理解了就不会在关键时刻陷入被动。6. 进阶技巧用 NppExec 搭一个轻量级脚本运行环境6.1 用 NppExec 直接运行脚本文件在插件管理器里装好 NppExec打开“插件→NppExec→Execute”输入下面这条命令# 在 NppExec 的 Execute 对话框里输入 python $(FULL_CURRENT_PATH)$(FULL_CURRENT_PATH)是 NppExec 内置变量会自动替换成当前 Python 文件的完整路径不用每次手输文件名。点执行后控制台窗口会直接显示脚本输出。这样写 Python 时完全不用切出去开终端改一下代码按一下快捷键就能看到结果。对于 C 或 C# 这类需要编译的语言也可以在这条命令基础上组合编译和执行把编译命令和解执行命令分别存成两个 NppExec 脚本先编译、再运行错误信息直接对照输出行号点回源码位置。6.2 给常用动作绑定快捷键并养成备份习惯NppExec 保存过的命令可以从“插件→NppExec→Advanced Options”里添加为菜单项然后在“设置→快捷键管理→插件”中为它分配一个顺手组合键例如CtrlShiftB跑当前脚本、CtrlShiftE打开 Execute 面板。最后一件事也是我吃过亏才养成的习惯Notepad 的所有配置文件、会话快照、自定义宏与插件脚本都集中在%APPDATA%\Notepad目录下。重装系统或者换电脑时把这个目录整个复制出来装好新版本后放回原路径曾经的高亮方案、快捷键、宏脚本就全部回来了。那一次我忘备份十几个写了半年的清理脚本全丢了从那以后我每次对 Notepad 做大改动都强制走一遍“复制配置文件到网盘”的动作。可惜没有后悔药希望这篇笔记能帮你少踩我踩过的坑。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑