Visual Studio样式的花括号在emacs中自动完成

Visual Studio样式的花括号在emacs中自动完成,emacs,code-completion,brackets,Emacs,Code Completion,Brackets,我不熟悉使用emacs,因为我以前使用过visualstudio。 在emacs中有没有一种方法可以对花括号进行同样的自动补全 我的意思是,在Visual Studio中,如果键入以下内容(“|”作为光标): 我明白了: int foo() { | } int foo() { |} 我尝试使用电对模式,但它只是关闭了卷曲的支架。 我希望我已经清楚了,英语不是我的母语 编辑: @鲁珀特·斯瓦布里克(Rupert Swarbrick)在我的emacs中,对间电偶开放换行符似乎没有设置为t

我不熟悉使用emacs,因为我以前使用过visualstudio。 在emacs中有没有一种方法可以对花括号进行同样的自动补全

我的意思是,在Visual Studio中,如果键入以下内容(“|”作为光标):

我明白了:

int foo()
{
    |
}
int foo()
{
|}
我尝试使用电对模式,但它只是关闭了卷曲的支架。 我希望我已经清楚了,英语不是我的母语

编辑: @鲁珀特·斯瓦布里克(Rupert Swarbrick)
在我的emacs中,对间电偶开放换行符似乎没有设置为true。当我启用了
电对模式
并在支架后按
返回
时,我得到以下信息:

int foo()
{
    |
}
int foo()
{
|}
光标与右括号在同一行,我必须手动转到上面的那行来编写代码,这有点烦人。 在哪里可以修改
电对模式
以检查其是否设置为true?我还没找到

编辑2:


多亏@Rupert Swarbrick的帮助,我现在使用的是
autopair.el
,因为我使用的是emacs 24.3,它可以满足我的需要。对于使用emacs 24.4或更高版本的用户,
电对模式已升级,您可以使用Rupert所说的。

看看
电对模式的本质,您似乎无法通过自定义任何变量来实现这一点,但这一切都不会丢失!如果
electric pair open-newline-between-pairs
为true(默认值),则您会发现键入
{
时,返回键应给出

{
    <- cursor here
}

查看
电偶模式
的本质,您似乎无法通过自定义任何变量来实现这一点,但所有变量都没有丢失!如果
电偶对间打开换行符
为真(默认值),那么您会发现键入
{
然后返回键应该会为您提供

{
    <- cursor here
}

我的
成对之间的电偶打开新线
似乎没有设置为true,但我不知道如何修改它。啊,似乎在Emacs 24.4中更改了默认值:可能您使用的是较旧的东西?无论如何,键入
M-x自定义可变成对之间的电偶打开新线
(有制表符以避免键入)更改其值。或者,您可以将
(setq electric pair open newline between pairs t)
添加到上面的Lisp代码中(在右括号后键入
C-x C-e
对其进行求值)我使用的是emacs 24.3,它是Trisquel存储库中的最新版本。我读到24.4中增强了电对模式,所以我想我必须更新我的emacs。我正在尝试构建它,我会看看你的解决方案是否有效。谢谢。要快速破解,只需从以后的emacs中抓取
elec pair.el
,打开它,然后再试一次
eval buffer
。如果它有效,您可以更新您的Emacs(知道这是值得的)或者继续使用本地修改的
elec pair.el
,直到您的发行版更新其Emacs包。我的
electric pair open newline-between-pairs
似乎没有设置为true,但我不知道如何修改它。啊,似乎Emacs 24.4中的默认值已更改:可能您使用的是旧版本?无论如何,键入
M-x自定义可变电气对在对之间打开换行符
(有制表符完成以避免键入)以更改其值。或者,您可以将
(setq电气对在对之间打开换行符t)
添加到上面的Lisp代码中(在右括号后键入
C-x C-e
,以对其进行求值)我使用的是emacs 24.3,它是Trisquel存储库中的最新版本。我读到24.4中增强了电对模式,所以我想我必须更新我的emacs。我正在尝试构建它,我会看看你的解决方案是否有效。谢谢。要快速破解,只需从以后的emacs中抓取
elec pair.el
,打开它,然后再试一次
eval buffer
。如果有效,您可以更新您的Emacs(知道它值得一做),或者继续使用本地修改的
elec pair.el
,直到您的发行版更新其Emacs包。