在S-Expression(词法范围)中搜索和替换变量名?

时间:2012-03-25 05:01:35

标签: emacs clojure lisp s-expression paredit

启用启用了Paredit的emacs。如何搜索LISP(Clojure)S表达式并重命名变量?我想在当前的S表达式中而不是全局表达式。

2 个答案:

答案 0 :(得分:9)

只需在您希望用作范围的s表达式的开头使用C-M-<space>,突出显示它,然后照常执行query-replace - 它将自己限制为活动状态区域。

答案 1 :(得分:2)

具有活动区域的query-replace非常适合一般情况 在地区搜索/替换。但是对于重构代码,我更喜欢iedit

要在defun中重命名变量,请转到要重新定义的符号,然后按 C-0 C - ; 并编辑。

要在任意区域内重命名变量,请转到符号,按 C - ; ,选择感兴趣的区域,然后再次按 C - ;

iedit还有许多其他功能可以帮助代码重构。提示: C - '