Notepad++中录制的宏存储在哪里?

144

我已记录了一个宏,我想与我的同事共享。

这些记录的宏保存在哪个位置,以便我可以将其添加到他的机器上?

如果有兴趣,该宏用于获取值列表并添加引号和逗号,以便在 SQL 查询的 WHERE 子句中使用 (WHERE x IN ('value1','value2','value3'))。


1
哇...我想到了一个可以做到这一点的宏,想要出口它,几乎是为了同样的原因,然后发现了你的帖子。这表明程序员所做的很多事情都是重新发明轮子 :/ 如果Notepad++有一个分享宏的社区就好了。 - user193130
对于那些真正想要编写宏(使用Python)的人:http://npppythonscript.sourceforge.net/(可从Notepad++的插件管理器中作为插件使用) - User
8个回答

168
在Windows中,宏保存在%AppData%\Notepad++\shortcuts.xml(使用Windows标志键+E并复制和粘贴%AppData%\Notepad++\)。或者:

  • 在Windows 7|8|10中,宏保存在C:\Users\%username%\AppData\Roaming\Notepad++\shortcuts.xml
  • 在Windows 7(包括Win2008/R2)及以下版本中,宏保存在C:\Documents and Settings\%username%\Application Data\Notepad++\shortcuts.xml

注意:如果您有任何要“导出”的新宏,则需要关闭Notepad++。


这里是一个例子:

<NotepadPlus>
    <InternalCommands />
    <Macros>
        <Macro name="Trim Trailing and save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
            <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
            <Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
        </Macro>
        <Macro name="abc" Ctrl="no" Alt="no" Shift="no" Key="0">
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="a" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="b" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="c" />
        </Macro>
    </Macros>
    <UserDefinedCommands>....

我添加了'abc'宏作为证明概念的示例。


14
我需要关闭并重新打开Notepad++才能看到我刚录制的宏文件中的更改。 - Michel
3
顺便说一下,你可以使用 %username% 代替 [username],并且当粘贴到资源管理器地址栏时它会自动生效。 - kor_
6
我发现,如果我在Notepad++中编辑shortcuts.xml文件,关闭后会覆盖我的更改,因此我需要使用另一种编辑器进行编辑…… 另外,你可以在Windows资源管理器的地址栏中输入“%appdata%”来直接进入Roaming或Application Data目录。 - Zhaph - Ben Duguid
1
是的,请将翻译后的文本编辑到另一个文本编辑器中,否则Notepad++会覆盖它。 - Jose Ospina
可以将多个宏合并为一个(操作将依次进行)。这非常直观:只需在第一个宏标记后删除结束宏标记和引入第二个宏的标记(仅第一个宏将出现在notepad++中)。启动它,它将启动第一个宏的操作以及添加到第一个宏末尾的第二个宏的操作。 (@Zhaph,我使用notepad++编辑了我的宏,没有问题) - JinSnow
显示剩余2条评论

39

对于Windows 7,宏被存储在C:\Users\用户名\AppData\Roaming\Notepad++\shortcuts.xml中。


1
刚刚删除了一些旧的宏并创建了一个新的宏。对我来说,这些宏首先被保存或删除到shortcuts.xml中,在Notepad++中保存任何/随机文件之后才会这样做,花了一段时间才弄清楚。 - Liu Kang
或者直接使用这个,在所有情况下都有效:%APPDATA%\Notepad++\shortcuts.xml - pbarney

5

2
宏定义的内容只能在shortcuts.xml文件中进行编辑:Notepad++中没有内置接口。有关宏存储方式及相关语法详细信息,请参阅配置文件详细信息部分 - Mesut Akcan
2
[F6] 对你来说意味着什么?在我的配置中它没有任何作用。 - Wolf
@Wolf 看起来他们可能正在使用 NppExec 插件 - https://github.com/d0vgan/nppexec - Richard

4

如果在Vista系统中开启了虚拟化,文件将会出现在这里。请注意,AppData文件夹是隐藏的。要么显示隐藏文件夹,要么直接在Windows资源管理器地址栏中键入%AppData%以访问该文件夹。

C:\Users\[user]\AppData\Roaming\Notepad++\shortcuts.xml

3

只有当使用默认设置时,您才能在 AppData\Roaming\Notepad++\ 路径中找到 shortcuts.xml。如果您已经配置了备份,可以在 Preferences -> Backup -> Backup path 中找到并设置路径。

应用这些设置后,AppData 目录中的文件将不再使用。


1
如果您在Linux系统上通过Wine安装Notepad++(在我的情况下是桌面版Ubuntu 14.04-LTS_X64),则文件“shortcuts.xml”位于以下位置:
$/home/[USER-NAME]/.wine/drive_c/users/[USER-NAME]/My Documents/.wine/drive_c/Program Files (x86)/Notepad++/shortcuts.xml

感谢Harrison和所有提供建议的人对这个问题的支持。

1

0

前往%appdata%\Notepad++文件夹。

宏定义保存在shortcuts.xml文件中的<Macros>标签内。您可以复制整个文件,或者复制该标签并将其粘贴到另一个位置的shortcuts.xml文件中。
在后一种情况下,请务必使用另一个编辑器,因为N++会在退出时覆盖shortcuts.xml文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接