如何为 lisp 模式配置 smartparens?

How to configure smartparens for lisp mode?

是否可以配置 smartparens,使其在 lisp 模式下不插入第二个 '(单引号)?

是的。这是简单的方法:

(require 'smartparens-config)

这个sets up smartparens with some default settings,我觉得其中大部分有用或无害(看看M-x find-library <RET> smartparens-config)。其中之一在各种 Lisp 模式中禁用单引号对。


这应该能解决这对几乎所有可能成为问题的地方。它似乎遗漏了一个地方是 eval-expression (M-:) 命令,所以我添加了这一行:

(sp-local-pair 'minibuffer-inactive-mode "'" nil :actions nil)

这将影响所有使用迷你缓冲区进行输入的命令,因此如果您出于某种原因经常在迷你缓冲区中使用单引号,您可能需要找到一个范围更窄的解决方案。


如果你想做更多的调整,here 是相关的 smartparens 文档。