标题很差,对此深表歉意。我正在使用两个汇编器/反汇编器库,它们都有单独的寄存器枚举。这两个库分别是 Zydis 和 Capstone。在 capstone 中,寄存器枚举是 X86_REG_X,而在 zydis 中则是 ZYDIS_REGISTER_X。通过将 capstone 枚举复制粘贴到 zydis 中并找到“X86_REG”并将其替换为“ZYDIS_REGISTER”,可以很容易地修改库,但我不想修改库,而是想创建一个将 zydis 寄存器映射到 capstone 寄存器的 constexpr 映射。这涉及大量代码重复。我希望能够输入“RAX”并让文本编辑器(我使用 vscode)生成“{ ZYDIS_REGISTER_RAX, X86_REG_RAX },\n”,然后能够输入“RBX”并让文本编辑器生成“{ ZYDIS_REGISTER_RBX, X86_REG_RBX },\n”等。所以我只需输入寄存器名称即可。我可以轻松编写一个执行此操作的 C 程序,但我想以一种方便的脚本方式集成到文本编辑器(最好是 vscode)中。
答案1
对于你所描述的,我会使用自动热键。AutoHotKey 是一款非常强大的脚本工具,可让您自动执行许多操作,例如文本替换。与单个应用程序的宏相比,AHK 的优势在于它可以用于任何应用。
我经常使用 AHK 来替换工作中的文本。例如回复电子邮件、运行 shell 命令以及在脚本中使用文本替换。我在浏览器、终端、文本编辑器、Slack、电子邮件等中使用它。