在文本周围包裹括号?

Ann*_*nan 6 paredit

当使用paredit时,如何在文本周围括起括号?我曾多次使用过paredit然而我感到沮丧,因为它阻止我做我想做的事情.

例:

(foo
    (bar 1 2 3)
    baz 1 2 3)
Run Code Online (Sandbox Code Playgroud)

Opps,baz 1 2 3应该像这样包裹:

(foo
    (bar 1 2 3)
    (baz 1 2 3))
Run Code Online (Sandbox Code Playgroud)

但不是... :

(foo
    (bar 1 2 3)
    () baz 1 2 3)
Run Code Online (Sandbox Code Playgroud)

Tam*_*acs 4

您没有提及您正在使用的编辑器。无论如何,如果您只是输入左括号,那么它的右括号也会立即添加。为了将表达式括在括号中,您需要使用“wrap”函数。

在 emacs 中,这可以是paredit-wrap-round或者,请在此处M-(找到 emacs paredit 备忘单。

在 vim 中使用slimv是这样的,W(如果你先选择一个表达式,那么整个表达式将被包装)。

如果您碰巧包装了错误数量的元素,那么您可以将它们移入/移出 s-表达式(请参阅 emacs 的 'slurp' 和 'barf'),或者您可以移动括号(,<,>vim)。