emacs - 使用 Paredit 包装现有表达式

标签 emacs clojure lisp paredit

我在 Paredit 模式下使用 Emacs 编写 Lisp 代码。

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

(square 5)
(println (square 5))

paredit 中最终发生的是这样的:

(square 5)
(println) (square 5)

我无法删除 println 的右括号并将其移动到末尾。

我现在的做法是: 1. 删除函数调用并在 println 中提取它 2. 不用paren写println,可视化选择代码并用parens括起来

(square 5)
println (square 5)
=> select block of code and type (
(println (square 5))

这两种方法都很乏味。这似乎是我在 Paredit 中由内而外编写代码时的一个常见问题。任何帮助将不胜感激

最佳答案

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

关于emacs - 使用 Paredit 包装现有表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170403/

相关文章:

c++ - emacs 从 Shell 切换到 gdb 或 pdb 模式

lisp - 如何更简单地表达 lisp (lambda (pair) (apply #'f pair))?

emacs - `variable-pitch` 用于组织模式,固定间距用于表格?

ubuntu - 为什么优雅地关闭 emacs 守护进程很重要?

clojure - futures 和加载文件中的异常处理

clojure - Clojure Spec 中的 `&` 和 `and` 有什么区别?

java - 为什么我不能在 MessageDigest 实例上调用 .update

Lisp函数计数列表中重复出现的a

lisp - SBCL - 常见的 Lisp 错误

emacs - #+BIND : really works 是怎么回事