2015-10-11 32 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)) –