我在Emacs中使用Paredit来编辑Lisp代码。我如何删除一对额外的父母,我不小心插入?如果没有额外的命令,Paredit不允许这样做。
((square 5))
into (square 5)
这是paredit-splice-sexp
,键绑定是M-s
。查看此处的括号小抄
仔细阅读垃圾和泔水。
你也可以安装" parendit -menu "。它提供了一个操作菜单,并提供了显示其效果的工具提示。
Paredit偶尔会让你陷入这样一种情况:最简单的方法就是关闭它,修复所有东西,然后重新打开它。然而,这是值得的。
如果在插入这些额外的父级之后发现意外的额外父级,我将调用undo命令。如果我很晚才看到额外的父级,那么有一些paredit命令可以将其固定为指定的其他答案,但如果我不知道这些命令,那么我会将point放在内部表单的某个地方,然后键入以下内容,前提是打开了CUA模式。
C-M-u C-M-SPC C-x <timeout> <left> C-M-SPC C-v
当有元素在里面时,parendit不允许我们删除父元素。我的技巧是剪切正确的代码并将其粘贴到相邻的其他地方。它将使额外的双亲为空,然后现在我可以删除它。实际上,正确的方法是使用M-s
来重新缩进。相反,可以使用C-q (
或C-q }
插入单父括号。