在emacs中更改javamode的缩进样式
我的emacs配置了c-default-style为“linux”和c-basic-offset为4,这让我非常满意,并且在c和PHP中工作得非常出色。问题是,当我试图编辑一些java代码时,它是这样缩进的:
class Main
{
public static void main(String args[])
{
System.out.println("Hello world!");
}
}
这显然是Emacs默认的缩进行为,而不是我为CC模式设置的行为(困扰我的是主函数大括号的缩进)。我几个月前才开始使用Emacs,我对Emacs Lisp不是很满意,但我真的不知道为什么java模式没有采用cc模式的缩进样式。有人知道这方面的线索吗?当然,禁用缩进制表符模式是一个解决方案,但我不得不说,我觉得这并不令人满意。我觉得这个问题真的有一个简单的解决办法,但我已经找了好几个小时了
# 1 楼答案
以下是对我有效的方法:
你需要下载 https://github.com/google/styleguide/blob/gh-pages/google-c-style.el 并将其放在加载路径中的某个位置,例如
~/.emacs.d/
# 2 楼答案
设置“c风格”(类似c语言的缩进规则)将简要介绍here。特别是,您可以使用类似这样的方法来选择java模式的“linux”:
我相信你需要分别选择每种模式的风格。出于某种原因,java模式可能没有将c-default-style作为字符串使用