Emacs 缩进与 C++ 中的连续括号
Emacs indentation with sequential parenthesis in C++
Emacs 在顺序括号上自动缩进不能正常工作:
int main() {
something(int i)(
"test", "something"
);
}
如何修复此缩进使其与正常缩进一样:
int main() {
something(int i)(
"test", "something"
);
}
主要模式信息:
- major-mode 是‘C source code’中定义的变量。
- 其值为‘c++-mode’
解决方案:
谢谢@pickle rick,还有@0x5453,
(c-add-style "cc-style"
'("linux" ;; it can be google or k&r or other c-style.
(c-basic-offset . 2)
(c-offsets-alist
(arglist-close . c-lineup-close-paren))))
(add-hook 'c++-mode-hook
(lambda()
(c-set-style "cc-style")))
cc-mode
能够根据缓冲区中的缩进智能猜测您想要 c-offsets-alist
的设置。为此,请根据需要对齐缓冲区中的代码,然后计算 M-xc-guess
.
缩进缓冲区,假设它看起来没问题,你可以用M-xc-guess-view
看到猜测的设置。然后,您可以将整个样式复制到某个地方的 init 中,或者挑选相关设置。
此外,您可以通过 运行 M-xc-show-syntactic-information
将点定位在那里,了解哪些规则适用于给定的行。但是请注意,这不会提供所有相关信息,因为其他 rules/styles 会相互影响,但会告诉 identify arglist-close
作为您示例中的相关规则。
Emacs 在顺序括号上自动缩进不能正常工作:
int main() {
something(int i)(
"test", "something"
);
}
如何修复此缩进使其与正常缩进一样:
int main() {
something(int i)(
"test", "something"
);
}
主要模式信息:
- major-mode 是‘C source code’中定义的变量。
- 其值为‘c++-mode’
解决方案:
谢谢@pickle rick,还有@0x5453,
(c-add-style "cc-style"
'("linux" ;; it can be google or k&r or other c-style.
(c-basic-offset . 2)
(c-offsets-alist
(arglist-close . c-lineup-close-paren))))
(add-hook 'c++-mode-hook
(lambda()
(c-set-style "cc-style")))
cc-mode
能够根据缓冲区中的缩进智能猜测您想要 c-offsets-alist
的设置。为此,请根据需要对齐缓冲区中的代码,然后计算 M-xc-guess
.
缩进缓冲区,假设它看起来没问题,你可以用M-xc-guess-view
看到猜测的设置。然后,您可以将整个样式复制到某个地方的 init 中,或者挑选相关设置。
此外,您可以通过 运行 M-xc-show-syntactic-information
将点定位在那里,了解哪些规则适用于给定的行。但是请注意,这不会提供所有相关信息,因为其他 rules/styles 会相互影响,但会告诉 identify arglist-close
作为您示例中的相关规则。