我在 N++ 中使用简单的NPP_Exec命令,这些命令对宏很好。例如。:
NPP_MENUCOMMAND Macro/Action1
NPP_MENUCOMMAND Encoding/Convert to ANSI
NPP_SAVE
但是我怎样才能多次运行一个特定的宏呢?我已经尝试过NPP_MENUCOMMAND Macro/Run
,但我仍然需要手动选择我需要的宏,并在弹出窗口中将其设置为“运行到行尾”。
我刚刚找到了一个简单易用的解决方案。我没有使用命令行,但它也可以工作:
我没有创建它,在这里找到它:https ://sourceforge.net/p/notepad-plus/discussion/331754/thread/469ffec9/ ,但它对我来说就像一个魅力。我可以在不到 2 分钟的时间内编辑 400 个文档。
您可以将 NppExec 插件用于简单的循环,如下所示:
:REPEAT
SCI_SENDMSG SCI_GETCURRENTPOS
set pos1 = $(MSG_RESULT)
// put your Macro invocation here instead of the linedown:
SCI_SENDMSG SCI_LINEDOWN
SCI_SENDMSG SCI_GETCURRENTPOS
set pos2 = $(MSG_RESULT)
// if the linedown (or your macro) doesnot give another pos, we have reached the end
if $(pos1) == $(pos2) goto END
// else loop
goto REPEAT
:END