在使用 Paredit 时,我经常会遇到以下情况(管道字符表示光标):
(foo |bar baz)
我想bar
用括号括起来,所以我使用paredit-wrap-around
( M- () 来得到这个:
(foo (|bar) baz)
当我想将 bar 放在字符串中时,这同样适用,我可以使用M-"来得到这个:
(foo "|bar" baz)
然而,Clojure 也使用方括号[]
和花括号{}
来表示向量、映射和集合。这些似乎没有 paredit 'wrap around' 命令。所以在这种情况下,例如将 bar 放入向量中,我通常使用[键来创建一个新向量:
(foo [|] bar baz)
后跟一个paredit-forward-slurp-sexp
( C-→</kbd>), which results in:
(foo [| bar] baz)
我想删除之前插入的空格字符bar
。这可能吗?为什么 paredit 在从空表达式转换为包含一项的表达式时会保留空格字符?添加到 S 表达式的第一项不应该总是被推到左括号上吗?