Notepad++具有宏的功能,能夠記錄當下所有操作,后續只需要一鍵就可以重復執行,大大減少工作量。
比如我需要把很多文件里面的字符完成替換,那我只需要把替換的過程錄制成宏,后續打開文件就可以一鍵替換了。
但是Notepad++的宏不支持編輯、復制等操作。
于是研究了下,發現它的宏保存在緩存文件夾下名為shortcuts.xml的文件中
打開,發現保存了3個宏,名為Trim Trailing Space and Save、test22、test33
跟軟件是對應上的:
后續把這里的內容復制然后替換就可以實現宏的復制了。
每個宏以
<Macro name="test33" Ctrl="no" Alt="no" Shift="no" Key="0">
開頭。
name是宏名字,后面的是快捷鍵,快捷執行宏的。
宏以
</Macro>
結尾。
宏的具體內容就沒有研究了,有興趣可以錄制宏,對比生成的內容來研究。
比如替換內容就需要用到:
<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
<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>