2015-04-14 42 views
2

我希望这是在本网站的合理范围内,不要太小,这是我的第一篇文章。我是Emacs的新手,并试图设置环境,以便在coffee-mode中开始新行时,自动缩进采用制表符的形式。据我了解coffee-mode的文件,我需要做的是将coffee-indent-tabs-mode设置为t。我已经附加我的初始化文件与下面的代码:使用Emacs的CoffeeScript中的Tab缩进

(custom-set-variables 
'(coffee-tab-width 2) 
'(coffee-indent-tabs-mode t)) 

然而,当我启动Emacs并打开.coffee文件,虽然当我按下输入它用空格缩进得到的标签宽度的权利。关于我是否需要将标签缩进一边,我做错了什么?

+0

我有一个旧版本的coffee.el,所以我不能测试它,但你有没有尝试将'咖啡标签宽度'设置为?在我看来,目前的列数除以标签宽度,可能会产生奇怪的后果。 –

+0

@ PatrickJ.S。我刚刚尝试过,在文件中添加了一行,但是当我查看时,我在新行的开始处仍然存在简单的空格而不是制表符,因此我不确定这是问题所在?我总是可以使用'tabify',但它不是真的令人满意...... –

+0

您是否使用自定义设置了变量,或者您是否将它添加到了'.emacs'中?这可能会导致问题,在'.emacs'中只应该有一个'custom-set-variables'块。 –

回答

2

在我发现GNU ELPA的咖啡模式中,没有coffee-indent-tabs-mode。我建议你干脆:

(add-hook 'coffee-mode-hook 
      (lambda() 
      (set (make-local-variable 'tab-width) 2) 
      (set (make-local-variable 'indent-tabs-mode) t))) 

这应该适用于几乎任何主要模式。

+0

非常感谢! –