我想为Notepad ++编写一个宏,它应该分别用char4,char5,char6替换char1,char2,char3.谢谢
Notepad ++中的宏只是一堆编码操作:您开始录制,在缓冲区上操作,可能激活菜单,停止录制然后播放宏.
经过调查,我发现它们保存在宏部分的文件shortcuts.xml中.例如,我在那里:
我没有查看源代码,但从外观上看,我会说我们将消息发送到Scintilla(编辑组件,可能是0和1类型),以及Notepad ++本身(可能是激活菜单项).
我不认为它会记录对话框中的动作(如搜索/替换).
看看Scintilla.iface文件,我们可以看到2170是ReplaceSel的代码(即插入字符串没有被选中),2327是Tab命令,而Resource Hacker(只是让它得心应用......)显示42024是"修剪尾随空间"菜单项和41006是"保存".
我想动作类型0用于具有数字参数的Scintilla命令,类型1用于具有字符串参数的命令,2用于Notepad ++命令.
问题:Scintilla没有"全部替换"命令:客户端的任务是进行迭代,有或没有确认等.
另一个问题:似乎类型1动作仅限于1个字符(我手动编辑) ,当退出N ++时,它被截断).
我尝试了一些技巧,但我担心这样的任务超出了宏观能力.
也许这就是SciTE凭借其Lua脚本编写能力(或程序员的记事本似乎可以用Python编写脚本)具有优势...... :-)
[编辑]看起来我从这个线程或类似的地方得到了上面的宏... :-)我想第一行是不必要的(副作用或录音),但无论如何它们都是宏代码的好例子.
我发现Notepad ++的' Python Script '插件更有用,因为使用插件,我可以用python的形式编写简单的宏,并且它也有非常好的文档和用python编写的示例宏.如果你对python非常熟悉,那么我认为'Python Script'将提供正义.有关更多信息,请参阅:http://npppythonscript.sourceforge.net/
我录制了一个宏,我在%APPDATA%\ Notepad ++\shortcuts.xml中找到了它.它看起来像发布在这个帖子的第一篇文章中.
我用NPP Ver.5.9.6.2使用Win7.