使用Paredit时,我经常遇到以下问题(管道字符代表光标):
(foo |bar baz)
我想将
bar
括在括号中,因此我使用paredit-wrap-around
(M-()来获取此代码:(foo (|bar) baz)
当我想将bar放在字符串中时,同样适用,我可以使用M-“来获得此信息:
(foo "|bar" baz)
但是,Clojure还将方括号
[]
和花括号{}
用于矢量, map 和集合。这些似乎没有paredit的“环绕”命令。所以在这种情况下要将bar放入向量中,通常使用[键创建一个新向量:(foo [|] bar baz)
后跟一个
paredit-forward-slurp-sexp
(C-→),结果为:(foo [| bar] baz)
我想删除
bar
之前插入的空格字符。这可能吗?为什么从空表达式到包含一项的paredit保留空格字符?不应该将添加到S表达式中的第一个项目始终向右推到开头括号吗? 最佳答案
Paredit在很长一段时间内都有paredit-wrap-curly
和paredit-wrap-square
。如果您想使用它们,只需将它们绑定(bind)到一个听起来听起来不错的琴键上,然后使用它即可。如果您使用的paredit版本太旧而这些功能不存在,则应进行升级(但我认为您不应该这样做,因为slurp命令可以使用它们)。
关于emacs - 提取第一个表达式时如何避免多余的空格字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17395553/