我在Emacs中安装了SML模式,并且缩进了。我禁用了所有.emacs自定义项,但这没有任何区别。在下面代码中每一行的末尾,我使用了C-j
,它被映射到newline-and-indent
。
如果我突出显示所有内容并重新加注(C-M-\
),结果会更有意义:
我在Ubuntu 12.10上使用Emacs 24.1.1和SML Mode 6.2。我该怎么办?
答案 0 :(得分:3)
请勿使用newline-and-indent
。
您可以改为使用reindent-then-new-and-indent
或electric-indent-mode
。
答案 1 :(得分:0)
尝试.emacs文件:
(setq default-tab-width 4);
(setq-default indent-tabs-mode nil);
(global-set-key (kbd "TAB") 'self-insert-command);
我不是巫师,但这对我有用。 http://www.pement.org/emacs_tabs.htm
答案 2 :(得分:0)
跟进Stefan(现为4岁......)的建议,您可以通过以下方式为electric-indent-mode
自动启用次要模式sml-mode
:
(push (lambda () electric-indent-local-mode 1) sml-mode-hook)
在emacs初始化代码中的某处。
或者,您可能更喜欢:
(use-package sml-mode
:config
(push (lambda () electric-indent-local-mode 1) sml-mode-hook))
在我看来,在sml-mode
缩进代码时,我会产生合理的理智行为。