我需要能够设置以下文件类型的选项卡设置:
我尝试了以下方法,但似乎都不会改变我对每种文件类型的默认选项卡设置。
;; js-mode-hook has also been tried
(add-hook 'javascript-mode-hook
'(lambda()
(setq tab-width 4)))
(add-hook 'css-mode-hook
'(lambda()
(setq tab-width 4)))
(add-hook 'html-mode-hook
'(lambda()
(setq tab-width 8)))
我对emacs非常陌生,所以我对配置的了解很低。
发布于 2010-10-24 06:46:19
关于Emacs如何进行缩进,有很多方面。设置制表符宽度仅指定插入文字制表符时制表符的大小。如果您不希望使用文字制表符进行缩进,则应首先禁用它们的插入(from the manual )
Emacs通常使用制表符和空格来缩进行。如果你愿意,所有的缩进都可以从空格开始。要请求此操作,请将indent-tabs-mode设置为nil。这是每个缓冲区的变量,因此更改该变量仅影响当前缓冲区,但是有一个默认值,您可以将其更改为well.which,您也可以更改它。
但是,要指定缩进级别,还需要设置c-basic-offset value变量:
(add-hook 'html-mode-hook
'(lambda()
(setq c-basic-offset 4)
(setq indent-tabs-mode nil))
在您的情况下,您可能只需要c-basic-offset,但尝试一些组合,看看哪种组合效果最好。
发布于 2012-03-20 22:45:49
js-mode使用js-indent-level
,所以把(setq js-indent-level 4)
放到你的~/.emacs中(甚至不需要放在钩子里,但是如果你想知道,它是js-mode-hook,而不是javascript-mode-hook)。
如果设置tab-width不会改变特定模式的缩进级别,最简单的方法通常是打开该模式的源代码。我通过执行缩进找到了这个变量,单击链接"js.el",然后搜索“C-h f js-mode
”,从顶部数第二次点击。
但是,如果您经常与其他人协作,在文件的顶部放置一个cookie通常会更好。我通常在文件中执行// -*- tab-width: 8 -*-
,然后在我的~/.emacs中有如下内容:
(defvaralias 'c-basic-offset 'tab-width)
(defvaralias 'cperl-indent-level 'tab-width)
(defvaralias 'perl-indent-level 'tab-width)
(defvaralias 'js-indent-level 'tab-width)
这样我就有更少的变量要处理了(而且不需要得到关于文件局部变量不安全的警告,或者如果模式编写器忘记声明它是安全的)
发布于 2013-03-12 18:14:07
如果您使用的是ELPA的css-mode.el和emacs 23.1.1,您可以通过执行以下操作来参数化CSS文件的选项卡宽度的全局设置: 1)键入M-x customize-variable,2)然后键入css-indent-level,3)然后根据您的喜好更改变量,然后执行"Save for future sessions“。
https://stackoverflow.com/questions/4006005
复制相似问题