2015-10-11 33 views
0

如果在lisp模式下不能插入第二个(单引号),可以配置smartparens吗?如何将smartparens配置为lisp模式?

+0

不是一个非常明确的描述。 – Drew

+0

问题是''​​用于引用lisp中的列表,所以每次我必须引用一个列表时,我必须删除第二个' – rogergl

+0

也许举个例子,显示“第二个引号”。我想你是说如果你输入''',那么聪明的parens会插入''''(?)。 – Drew

回答

2

是的。下面是最简单的方法:

(require 'smartparens-config) 

sets up smartparens with some default settings,其中大部分我发现无论是有益的或无害的(采取与M-x find-library <RET> smartparens-config看看)。其中一个禁用各种Lisp模式下的单引号对。


这应该照顾这对几乎无处不在这将是一个问题。一个地方,似乎错过的是eval-expressionM-:)命令,所以我加入这一行:

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

这会影响使用迷你缓冲区中输入的所有命令,因此,如果您经常在迷你缓冲区中使用单引号出于某种原因,您可能希望找到更狭隘的解决方案。


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

+0

对于更狭隘的解决方案,这是我用来禁用配对单引号仅在'eval-expression'中: (sp-local-pair'minibuffer-inactive-mode''“nil :actions nil (除去'(my-in-eval-expression-p)) (defun my-in-eval-expression-p(id action context) (equalp last-command'eval-expression)) –