使用Paredit包装现有表达式

Sat*_*ish 6 lisp emacs clojure paredit

我在Pareit模式下使用Emacs来获取Lisp代码.

我正在尝试在println中包装一个函数调用:

(square 5)
(println (square 5))
Run Code Online (Sandbox Code Playgroud)

最终发生在paredit上的是:

(square 5)
(println) (square 5)
Run Code Online (Sandbox Code Playgroud)

我无法删除println的关闭paren并将其移至最后.

我现在这样做的方法是:1.删除函数调用并在println中将其拉出2.在没有paren的情况下写入println,在视觉上选择代码并将其括在parens中

(square 5)
println (square 5)
=> select block of code and type (
(println (square 5))
Run Code Online (Sandbox Code Playgroud)

这两种方法都很乏味.这似乎是我在Paredit内部编写代码时常见的问题.任何帮助,将不胜感激

Ant*_*nko 8

paredit-wrap-round 命令可能有帮助(绑定到M-(在我使用的paredit版本中).


Chr*_*ung 6

与其他答案相反,我倾向于使用Ctrl-Right:获得后

(println|) (square 5)
Run Code Online (Sandbox Code Playgroud)

(|光标在哪里),我只需按Ctrl-Right即可得到正确的结果.


eve*_*_jr 5

M-(

您可以调用paredit-insert-html-examples生成HTML网页备忘单.一个版本在这里.