我非常新手Emacs,我在寻找关于electric-layout-mode
的信息时遇到了困难,特别是electric-layout-rules
。
我现在使用c-toggle-auto-newline
,但我正在尝试用Electric Layout替换它,希望它能与Electric Pair Mode配合使用,这样我就可以将electric-indent-mode
的自动缩进与Electric Pair Mode的括号行为结合起来。
换句话说,我希望在按下“{”键时它会给我这种行为:
int main() <- (Ideally autonewline here, as C Auto Newline does)
{
(point)
}
然而,我无法找到关于electric-layout-rules的足够信息来让它在我的.emacs文件中运行。我成功启用了electric-layout-mode,因为在自定义缓冲区中有一个条目。
我查看了“electric-layout-rules”的帮助条目,但我很难理解它,并且我注意到它的语法类似于C Auto Newline的c-hanging-braces-alist,我试图模仿其语法,但没有成功。
长话短说,我会感激一些关于electric-layout-rules的使用示例,我可以将其放入我的.emacs文件中。
编辑:几周前我在SuperUser上发布了一个类似但不太详细的问题。我不知道如何移动问题,但我想我可能会把它保留到这个问题得到回答或者如果有人建议我现在删除它的话,以防其中的任何内容与此相关。
这个电动布局模式手册页面是在其他问题中链接的,但它没有任何关于通过electric-layout-rules
自定义行为的内容,并且明确说明它是JavaScript。当编辑C文件时,答案和electric-layout-mode
中的代码都无法工作。
electric-pair-mode
的补丁,使其与electric-layout-mode
更好地交互。我现在可以得到你想要的行为,不过它可悲地取决于启用这两种模式的顺序。 - Stefan