有没有emacs智能括号匹配plugin/configuration?
Does there exist an emacs intelligent parenthesis matching plugin/configuration?
在 emacs 中有一种模式,如果我输入 ( 它会像这样自动关闭它 (),但是如果我把它放在像这样的词前面(这个词它不会做 () 词,而是智能地保持像 ( word?我试过smartparens和autopair都没有用,可能是我没配置正确吧?
对于编程,我发现 paredit 可以满足我的所有需求。它保持平衡。
输入左括号也会在点后输入右括号:
( → ()
你可以直接用一对新的括号将点后的表达式括起来:
元-( → (expr)
还有很多其他的命令,slurp 和 barf 子表达式 to/from 前后,交换表达式,在不同级别上移动等等,都保持括号的平衡。
例如,如果你有一些表达式(|
表示点):
|expr1 expr0 expr2 expr3
元-(
(|expr1) expr0 expr2 expr3
Ctrl-Shift-)
(|expr1 expr0) expr2 expr3
Ctrl-Shift-)
(|expr1 expr0 expr2) expr3
Meta-f
(expr1| expr0 expr2) expr3
Ctrl-Meta-t
(expr0 expr1| expr2) expr3
Ctrl-{
expr0 (expr1| expr2) expr3
Ctrl-Meta-u
expr0 |(expr1 expr2) expr3
Ctrl-Meta-f
expr0 (expr1 expr2) |expr3
使用内置(自版本 24.something 起)electric-pair-mode
并采用保守配对:
(setq-default electric-pair-inhibit-predicate 'electric-pair-conservative-inhibit)
(electric-pair-mode 1)
在 emacs 中有一种模式,如果我输入 ( 它会像这样自动关闭它 (),但是如果我把它放在像这样的词前面(这个词它不会做 () 词,而是智能地保持像 ( word?我试过smartparens和autopair都没有用,可能是我没配置正确吧?
对于编程,我发现 paredit 可以满足我的所有需求。它保持平衡。
输入左括号也会在点后输入右括号:
( → ()
你可以直接用一对新的括号将点后的表达式括起来:
元-( → (expr)
还有很多其他的命令,slurp 和 barf 子表达式 to/from 前后,交换表达式,在不同级别上移动等等,都保持括号的平衡。
例如,如果你有一些表达式(|
表示点):
|expr1 expr0 expr2 expr3
元-(
(|expr1) expr0 expr2 expr3
Ctrl-Shift-)
(|expr1 expr0) expr2 expr3
Ctrl-Shift-)
(|expr1 expr0 expr2) expr3
Meta-f
(expr1| expr0 expr2) expr3
Ctrl-Meta-t
(expr0 expr1| expr2) expr3
Ctrl-{
expr0 (expr1| expr2) expr3
Ctrl-Meta-u
expr0 |(expr1 expr2) expr3
Ctrl-Meta-f
expr0 (expr1 expr2) |expr3
使用内置(自版本 24.something 起)electric-pair-mode
并采用保守配对:
(setq-default electric-pair-inhibit-predicate 'electric-pair-conservative-inhibit)
(electric-pair-mode 1)