Notepad++ 复制宏、编辑宏的方法

Notepad++具有宏的功能,能够记录当下所有操作,后续只需要一键就可以重复执行,大大减少工作量。

比如我需要把很多文件里面的字符完成替换,那我只需要把替换的过程录制成宏,后续打开文件就可以一键替换了。

但是Notepad++的宏不支持编辑、复制等操作。

于是研究了下,发现它的宏保存在缓存文件夹下名为shortcuts.xml的文件中

打开,发现保存了3个宏,名为Trim Trailing Space and Save、test22、test33

跟软件是对应上的:

后续把这里的内容复制然后替换就可以实现宏的复制了。

每个宏以

js 复制代码
<Macro name="test33" Ctrl="no" Alt="no" Shift="no" Key="0">

开头。

name是宏名字,后面的是快捷键,快捷执行宏的。

宏以

js 复制代码
 </Macro>

结尾。

宏的具体内容就没有研究了,有兴趣可以录制宏,对比生成的内容来研究。

比如替换内容就需要用到:

js 复制代码
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:0" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:X1" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />			
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

上面的作用就是把文档中的ZDZ:0替换成ZDZ:X1

上面的作用就是把文档中的ZDZ:0替换成ZDZ:X1、ZDZ:1替换成ZDZ:Y1、ZDZ:2替换成ZDZ:Z1、ZDZ:3替换成ZDZ:Y2/C、ZDZ:4替换成ZDZ:X2/A、ZDZ:5替换成ZDZ:B

js 复制代码
        <Macro name="ZDZ_Replace" Ctrl="no" Alt="no" Shift="no" Key="0">
		
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:0" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:X1" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />			
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
			
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:1" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:Y1" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />		
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
			
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:2" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:Z1" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />			
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
			
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:3" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:Y2/C" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />			
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
			
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:4" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:X2/A" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="ZDZ:5" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="ZDZ:B" />
            <Action type="3" message="1702" wParam="0" lParam="771" sParam="" />
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />			
        </Macro>
相关推荐
To_OC13 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
Scott9999HH13 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社14 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海14 小时前
python 列表、元组、集合和字典
开发语言·python
小林ixn15 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
萧瑟余晖15 小时前
JDK 26 新特性详解
java·开发语言
马优晨16 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
窝子面17 小时前
手搓最简前后端协作-node
javascript·数据库
人邮异步社区18 小时前
怎么把C语言学到精通?
c语言·开发语言
kyriewen18 小时前
我让AI给前端项目做了一次完整的Code Review——它和人类的差距,比我想的大得多
前端·javascript·ai编程