Emacs paredit-mode - 如何纠正抽取代码中的不平衡括号?

Ree*_*Law 9 emacs clojure paredit

偶尔我会将代码放入一个paredit-mode缺少右括号或括号的缓冲区中.paredit-mode然后检测未闭合的表达式并尝试将错误的paren添加到错误的位置.当我将光标移动到我想要关闭的位置但是我不能把它放在那里时,这是令人沮丧的.我最终不得不关掉paredit-mode.

这是一个例子: 在此输入图像描述

我刚刚猛拉了

[["https://github.com/aconbere/yesql.git"
 "aea69ebd4a7788a66fc8689fea7e806f1463c347"]
Run Code Online (Sandbox Code Playgroud)

但在最后paredit-mode看到一个缺失)(红色).当开口是支架时,我甚至不确定它为什么要使用紧密的parens.键入]该点使光标跳到最后并尝试填充红色表格.啜饮或甩烤没有预期的效果,只需移动)四周.

有没有办法解决这个问题而不暂时禁用paredit-mode

noi*_*ith 9

kill-region(默认绑定到C-w)和quoted-insert(默认绑定到C-q)不受paredit模式的影响.您可以使用这些键绑定删除区域或插入匹配的分隔符,从而绕过paredit规则.请记住,您也可以关闭paredit,清理一些东西,然后再打开它.

  • @ ReedG.Law:使用`Cq`,然后在所需目的地输入结束括号,paredit不会跳转. (6认同)
  • 这些命令都没有我正在寻找的东西. (2认同)

小智 5

其他人已经提到C-q了引用插入。您还可以使用C-u DELC-u C-d覆盖 paredit 的正常平衡行为DELC-d对于单个删除:

(foo)|) 铜DEL (foo|)