我在Emacs中使用Paredit来编辑Lisp代码。如何删除我意外插入的一对额外的parens?没有额外的命令,Paredit就不允许这样做。
((square 5))
加入(square 5)
答案 0 :(得分:51)
这称为paredit-splice-sexp
,键绑定为M-s
。
看一下paredit备忘单here。
答案 1 :(得分:3)
阅读barfage和slurpage。
您还可以安装“paredit-menu.el”,它提供了一系列操作,工具提示会显示其效果。
Paredit偶尔会让你陷入困境,最简单的事情就是关闭它,修复所有东西并再次打开它。但是,这是值得的。
答案 2 :(得分:0)
如果我在插入那些额外的parens后立即意外地发现了额外的parens,我会调用undo命令。如果我稍后看到额外的parens,那么有paredit命令用于修复它作为指定的其他答案,但如果我不知道那些命令,那么我会在内部表单中的某处放置点,然后输入以下内容,提供CUA模式已开启。
C-M-u C-M-SPC C-x <timeout> <left> C-M-SPC C-v
答案 3 :(得分:0)
paredit 不会让我们在里面有任何元素时删除括号。我的诀窍是剪切正确的代码并将其粘贴到相邻的其他地方。它会将额外的括号留空,然后我可以删除它。实际上正确的方法是使用 M-s
重新缩进。相反,我们可以使用 C-q (
或 C-q }
插入单个括号。