SML模式下的时髦缩进

时间:2013-01-17 07:29:22

标签: emacs indentation sml

我在Emacs中安装了SML模式,并且缩进了。我禁用了所有.emacs自定义项,但这没有任何区别。在下面代码中每一行的末尾,我使用了C-j,它被映射到newline-and-indent

pow

dist

如果我突出显示所有内容并重新加注(C-M-\),结果会更有意义:

pow-improved dist-improved

我在Ubuntu 12.10上使用Emacs 24.1.1和SML Mode 6.2。我该怎么办?

3 个答案:

答案 0 :(得分:3)

请勿使用newline-and-indent。 您可以改为使用reindent-then-new-and-indentelectric-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缩进代码时,我会产生合理的理智行为。