如何在java模式下配置emacs,以便它不会自动对齐方法参数
在emacs中,当我输入:
public void foo(String one, String two) {
它如下所示:
public void foo(String one, String two) {
我宁愿它没有,只是像其他线延续一样对齐参数。 如何配置它不要这样做?
这来自Emacs CC Mode的Info手册,在Windows上使用GNU Emacs 23.1:
- 开始构建没有正确缩进的Java类。 在您的情况下,正是您在上面键入的内容。
- 将光标移动到未正确缩进的行的开头。 在你的情况下,“字符串二){”。
- 点击Cc Cs(
c-show-syntactic-information
)向Emacs询问它认为你在看什么语法元素。 在你的情况下,它会说像((arglist-cont-nonempty nm))。 - 使用Cc Co(
c-set-offset
)告诉它要更改此语法元素的缩进级别。 - 它默认为它认为语法元素是什么,例如arglist-cont-nonempty。 如果默认值正确,只需按RET即可。
- 现在它想知道用于计算偏移量的表达式。 在您的情况下,默认值为elisp表达式。 删除它,然后只使用一个加号+。
- 测试它以确保它正常工作:在不同的行或Mx缩进区域或类似地点击TAB。
- 要使其永久化,请将其添加到.emacs文件中:
(setq c-offsets-alist’((arglist-cont-nonempty。+)))
我喜欢在每个源文件的第一行中指定模式样式。 尝试:
// -*- mode: java; c-file-style: "stroustrup" -*-
这将为您提供合理的表格。 您也可以尝试“k&r”。