【发布时间】:2015-09-02 03:31:38
【问题描述】:
我想从我的 .emacs 文件中为 emacs 中的所有主要模式关闭 electric-indent-mode。
我已经尝试将这些添加到我的.emacs 文件中(每个都单独):
(electric-indent-mode -1)
(add-hook 'after-change-major-mode-hook (lambda() (electric-indent-mode -1)))
(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))
(add-hook 'c-mode-common-hook
(lambda ()
(add-hook 'electric-indent-functions
(lambda () 'no-indent) nil 'local)))
没有人处理过我的简单 .cpp 测试文件。
为了更清楚一点,这里是发生了什么:
这个:
#include <iostream>
int main() {
std::cout << "Hello World!";
return 0;
}
变成:
#include <iostream>
int main() {
std::cout << "Hello World!";
return 0;
}
当我按下第二个: 或; 时,带有std::cout << ... 的行会重新对齐以有2 个空格
我希望能够通过自己输入字符来控制我的文件的缩进方式,而不是通过 emacs 更改它们。我相信这是禁用electric-indent-mode(因此我尝试禁用),但可能还有另一种方法。
我使用的是 emacs 24.3.1(x86_64-redhat-linux-gnu,GTK+ 版本 3.10.9)
【问题讨论】:
-
请将此报告为错误。请注意,您(应该)唯一需要的是
(electric-indent-mode -1),因为这是一个全局次要模式。之后,您添加的所有其余部分都没有效果。
标签: emacs auto-indent major-mode