2016-11-14 119 views
1

光标位置在Emacs中,我想实现与括号块和光标位置的IDE的行为。也就是说,当我输入,例如,int main() { RET,应该扩大到Emacs的:在括号内

int main() { 
    I <- cursor position 
} 

我已经安装了smartparens插件自动插入对,但它不与光标处理:

int main() { 
I <- cursor position} 

回答

1

正如@Drew指出的electric-indent-mode,我在Emacs中查找了不同的电模式,并发现electric-pair-mode完全符合我的需求。

2

考虑使用Yasnippets,这是Emacs的一个模板系统,预装了很多模板。你的情况:

mainTAB

将扩大到:

int main(int argc, char *argv[]) 
{ 
    CURSOR 
    return 0; 
} 
1

你要求什么已经是在Emacs的情况下,开始释放24.4。

您可以通过打开electric-indent-mode启用的行为,如果它是不是已经在默认情况下(通常Emacs 24.4或更高版本)运行。把这个在您的init文件以启用模式:

(when (fboundp 'electric-indent-mode) (electric-indent-mode 1)) 

但是,你至少需要Emacs的发行24.1使用electric-indent-mode。它在旧版本中不可用。