如何在函数的{}中间回车的时候自动插入一行

在写如下c函数的时候

int main(){}

当我在{}中打回车的时候会变成这样

int main(){
}

我想要回车的时候出现这样的效果

int main() {
   >光标位置
}

有什么现成的函数或者插件能做到这点吗

electric-indent-mode

试过了没有用

开了 emacs -q 切到scratch buffer,开c-mode和electric-indent-mode,结果还是

int main(){
}

describe-variable electric-indent-chars

electric-indent-chars is a variable defined in ‘electric.el’.

Its value is (10)

Characters that should cause automatic reindentation.

Probably introduced at or before Emacs version 24.1.

我这边好像还把 electric-pair-mode 开了才行,没细看

感谢老哥!

是这个electric-pair-mode没错

问题是现在会和smartparens冲突,打一个

(

会出来

())

所以我只用 electric-pair-mode,没在用 smartparens

我记得 smartparens 是支持你说的这个行为的