有哪些有用的emacs函数可用于重构?

时间:2010-09-09 21:59:30

标签: emacs refactoring elisp

现在我已经坚持使用multi-occur-in-matching-buffersrgrep,虽然功能强大,但我仍然非常基本。

虽然我认识到比匹配正则表达式更重要但重命名需要与CEDET's semantic bovinator集成,我觉得这里仍有改进的余地。

内置函数,软件包或自定义代码您认为有什么帮助完成工作?

干杯

3 个答案:

答案 0 :(得分:3)

在CEDET中,有一个符号引用工具。默认情况下,它还使用项目中的find / grep来查找符号的出现。最好使用GNU Global,IDUtils或CScope来在项目中创建数据库。然后,您可以使用semantic-symref-symbol,然后使用gnu global或其他任何内容来查找所有引用。

进入symref列表缓冲区后,您可以查看命中。然后,您可以选择各种命中并执行符号重命名等操作,或者在所有命中时执行功能更强大的执行宏。

虽然可以进行更集中的命令,但宏功能几乎可以让熟悉Emacs键盘宏的专家用户发生任何事情。

答案 1 :(得分:1)

这取决于您使用的语言;如果slime支持您的语言,则有一系列命令:slime-who-calls,who-references,who-binds,calls-who等。它们提供真实的,基于语义的信息,所以比正则表达式匹配更可靠。

答案 2 :(得分:0)

如果您正在编辑lisp,我发现使用paredit.el包非常有用(一般情况下)。请点击文档链接,视频是一个很好的介绍。