在Emacs中,我希望用括号块和光标位置实现类似IDE的行为。也就是说,当我输入int main() { RET
时,它应该扩展为
int main() {
I <- cursor position
}
我已经安装了smartparens插件来自动插入对,但它并没有处理光标:
int main() {
I <- cursor position}
答案 0 :(得分:2)
考虑使用Yasnippets,这是Emacs的模板系统,它预装了很多模板。在你的情况下:
main
TAB
将扩展为:
int main(int argc, char *argv[])
{
CURSOR
return 0;
}
答案 1 :(得分:1)
从24.4版本开始,您在Emacs中已经提出了您的要求。
如果默认情况下尚未启用electric-indent-mode
,则可以启用该行为(Emacs 24.4或更高版本)。将它放在init文件中以启用模式:
(when (fboundp 'electric-indent-mode) (electric-indent-mode 1))
但是,至少需要Emacs版本24.1才能使用electric-indent-mode
。它在旧版本中不可用。
答案 2 :(得分:1)
正如@Drew指出electric-indent-mode
,我在Emacs中查找了不同的电子模式,并发现electric-pair-mode
符合我的需要。