在emacs中有一种模式,如果我输入(它就像so()那样自动关闭它,但如果我把它放在一个像这样的单词的前面(单词它不做()单词,但只是聪明地保持(单词?我试过smartparens和autopair无济于事,但也许我还没有正确配置它们?
答案 0 :(得分:4)
使用带有保守配对的内置(版本24.something)electric-pair-mode
:
(setq-default electric-pair-inhibit-predicate 'electric-pair-conservative-inhibit)
(electric-pair-mode 1)
答案 1 :(得分:3)
对于编程,我发现paredit给了我所需要的一切。它保持了平衡。
输入左括号也将在点数后输入结束括号:
(→()
您可以使用一对新括号直接用点括起表达式:
Meta - (→(expr)
还有许多其他命令可以在前后交替使用和barf子表达式,交换表达式,在不同级别上移动等等,这些都保持了括号的平衡性。
例如,如果你有一些表达式(|
表示点):
|expr1 expr0 expr2 expr3
元 - (
(|expr1) expr0 expr2 expr3
控制 - 移 - )
(|expr1 expr0) expr2 expr3
控制 - 移 - )
(|expr1 expr0 expr2) expr3
元 - ˚F
(expr1| expr0 expr2) expr3
控制 - 元 - 吨
(expr0 expr1| expr2) expr3
控制 - {
expr0 (expr1| expr2) expr3
控制 - 元 - û
expr0 |(expr1 expr2) expr3
控制 - 元 - ˚F
expr0 (expr1 expr2) |expr3