Emacs:括号内的光标位置

时间:2016-11-14 17:14:36

标签: emacs

在Emacs中,我希望用括号块和光标位置实现类似IDE的行为。也就是说,当我输入int main() { RET时,它应该扩展为

int main() {
   I <- cursor position
}

我已经安装了smartparens插件来自动插入对,但它并没有处理光标:

int main() {
I <- cursor position}

3 个答案:

答案 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符合我的需要。