在Lisp模式下,是否有可能配置smartparens以使其不插入第二个单引号(')?
是的。 这是简单的方法:
(require 'smartparens-config)
这里设置了一些默认的smartparens配置,其中大部分我认为是有用或无害的(可以通过M-x find-library <RET> smartparens-config
查看)。其中一个配置在各种Lisp模式下禁用了单引号配对。
这应该几乎可以解决任何单引号配对可能导致的问题。唯一似乎无法解决的地方是eval-expression
(M-:
)命令,因此我添加了这一行:
(sp-local-pair 'minibuffer-inactive-mode "'" nil :actions nil)
这将影响所有使用迷你缓冲区进行输入的命令,因此如果您经常在迷你缓冲区中使用单引号,您可能需要找到一个更为狭窄的解决方案。
如果您想进行更多微调,请参阅此处相关的smartparens文档。
eval-expression
中禁用成对的单引号,我使用以下代码:(sp-local-pair 'minibuffer-inactive-mode "'" nil
:actions nil
:unless '(my-in-eval-expression-p))
(defun my-in-eval-expression-p (id action context)
(equalp last-command 'eval-expression))
- Davor Cubranic
'
,那么智能括号会插入''
,对吗? - Drew