我经常发现自己需要连续多次查询和替换操作,因为例如我想要在一行中更改23到24的所有出现,然后在下一行中更改24到25,依此类推(通常因为我写的)一行中的表达式,我在后续行中多次猛拉,需要稍微修改)...
在这样的情况下,使用Cx q或常规执行多个查询替换的宏似乎不够强大..是否有更通用/更灵活的处理变量替换或可变宏变体这样我可以研究一下?我相信我曾经遇到过网络上的一个例子,其中lisp表达式被引入到某些命令中以便更强大但是我不记得这个或我在哪里读到它...
我不确定这完全回答了你的问题,但我发现寄存器是构建强大宏的有用工具.最重要的功能是:
number-to-register 将该点的数字复制到一个寄存器中increment-register 递增存储在寄存器中的值insert-register 将寄存器的值插入缓冲区使用这些函数,您可以解决使用以下方法替换每行上的递增数字的问题:
number-to-registerreplace-string,insert-register,increment-register,insert-register有关emacs手册中有关寄存器的更多信息:https://www.gnu.org/software/emacs/manual/html_node/emacs/Registers.html
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |