我在 Emacs 中使用 Paredit 来编辑 Lisp 代码。如何删除我不小心插入的一对额外的括号?如果没有额外的命令,Paredit 不允许这样做。
((square 5))
进入(square 5)
这就是所谓paredit-splice-sexp
的,键绑定是M-s
。看看这里的 paredit 备忘单。
阅读 barfage 和 slurpage。
您还可以安装“paredit-menu.el”,它提供了一个操作菜单,并带有向您显示其效果的工具提示。
Paredit 有时会让您陷入这样一种情况,最简单的方法就是将其关闭、修复所有问题并重新打开。然而,这是值得的。
如果我在插入这些额外的括号后立即意识到意外的额外括号,我会调用 undo 命令。如果我很晚才看到额外的括号,那么有 paredit 命令可以将其修复为指定的其他答案,但是如果我不知道这些命令,那么我会在内部表单中的某个位置放置点,然后键入以下内容,前提是CUA 模式已开启。
C-M-u C-M-SPC C-x <timeout> <left> C-M-SPC C-v
当里面有任何元素时,paredit 不会让我们删除括号。我的诀窍是剪切正确的代码并将其粘贴到相邻的其他位置。它会将多余的括号留空,然后我可以删除它。实际上正确的方法是使用M-s
它来重新缩进它。C-q (
相反,我们可以使用or插入单括号C-q }
。