Notepad ++中的NppExec“多次运行宏...”

时间:2016-06-18 13:11:05

标签: macros notepad++ nppexec

我在N ++中使用简单的 NPP_Exec 命令,这些命令适用于宏。例如:

NPP_MENUCOMMAND Macro/Action1
NPP_MENUCOMMAND Encoding/Convert to ANSI
NPP_SAVE

但是我如何多次运行特定的宏? 我已经尝试了NPP_MENUCOMMAND Macro/Run但是我仍然需要手动选择我需要的宏并在弹出窗口中将其设置为“运行直到行尾”。

2 个答案:

答案 0 :(得分:0)

你可以使用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
  • 它存储当前位置
  • 然后它做了一些推进位置的事情(在这个例子中是一个行进的,你会把你的宏调用放在那里,确保它改变光标位置)
  • 然后将位置与存储位置进行比较;如果职位没有改变,我们已经到了最后;
  • 在这种情况下我们离开循环

答案 1 :(得分:0)

我刚刚找到了一个简单的解决方案。我没有使用命令行,但是它也可以正常工作:

  1. 确保宏以Ctrl-Tab键结束
  2. 从“设置”->“首选项”->“ MISC”中,禁用文档切换器。
  3. 打开所有要编辑的文件。
  4. 使用“多次运行宏”对话框,然后输入刚打开的文件数。
  5. 执行
  6. 保存所有

我没有创建它,而是在这里找到它:https://sourceforge.net/p/notepad-plus/discussion/331754/thread/469ffec9/,但对我来说却像是一种魅力。我可以在不到2分钟的时间内编辑400个文档。