使Emacs在缩进方面减少过度的行为

4

每当我在Emacs中输入某些字符,比如“;”或“//”,它就会重新缩进当前行。这非常令人烦恼,因为有很多地方它并不能正确缩进。

我该如何禁用此功能?我仍然希望能够使用TAB缩进该行,但我不希望任何源代码导致它重新缩进。

(我正在使用Dylan Moonfire的C#模式,但这可能适用于任何cc-mode。)


当它工作时,它是一个很棒的功能。正如您所经历的那样,这是一个难以掌握的荒谬难度的功能。https://dev59.com/B3M_5IYBdhLWcg3wlEJH - Sam Harwell
我不认为这很“难以置信地困难”。csharp-mode.el最后更新于2007年,当时C# 2.0是最新版本。我认为唯一困难的部分就是找到一个愿意处理维护C#模式的elisp黑客。 :-) - Ken
2个回答

9
尝试运行c-toggle-electric-state命令以关闭这些字符的自动插入功能。
您可以将此命令添加到c-mode-common-hook中,或通过按下C-c C-l手动切换电气状态。

1

这很可能是由于c-mode及其衍生产品的inline-and-indent'特性'引起的。EmacsWiki上有几种解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接