質問

Using emacs with Paredit enabled. How can I search through a LISP (Clojure) S-expression and rename a variable? I'd like to do it within the current S-expression instead of globally.

役に立ちましたか?

解決

Just use C-M-<space> at the start of the s-expression you'd like to use as your scope, to highlight it, and then do a query-replace as usual - it restricts itself to the active region.

他のヒント

The query-replace with active region is quite good for general search/replace in region. But for refactoring code, I much prefer iedit.

To rename a variable within a defun, go to the symbol to be reanmed, press C-0 C-; and edit away.

To rename a variable within arbitrary region, go to the symbol, press C-;, select the region of interest, and press C-; again.

iedit has many other functions to help code refactoring. Hint: C-'

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top