首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何按文件类型设置Emacs选项卡设置?

如何按文件类型设置Emacs选项卡设置?
EN

Stack Overflow用户
提问于 2010-10-24 04:51:41
回答 4查看 10.6K关注 0票数 21

我需要能够设置以下文件类型的选项卡设置:

  • .rb: 2 soft spaces
  • .css,.html.erb: 4 space tabs

我尝试了以下方法,但似乎都不会改变我对每种文件类型的默认选项卡设置。

代码语言:javascript
复制
;; 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非常陌生,所以我对配置的了解很低。

EN

回答 4

Stack Overflow用户

发布于 2010-10-24 06:46:19

关于Emacs如何进行缩进,有很多方面。设置制表符宽度仅指定插入文字制表符时制表符的大小。如果您不希望使用文字制表符进行缩进,则应首先禁用它们的插入(from the manual )

Emacs通常使用制表符和空格来缩进行。如果你愿意,所有的缩进都可以从空格开始。要请求此操作,请将indent-tabs-mode设置为nil。这是每个缓冲区的变量,因此更改该变量仅影响当前缓冲区,但是有一个默认值,您可以将其更改为well.which,您也可以更改它。

但是,要指定缩进级别,还需要设置c-basic-offset value变量:

代码语言:javascript
复制
(add-hook 'html-mode-hook 
      '(lambda() 
        (setq c-basic-offset 4)
        (setq indent-tabs-mode nil))

在您的情况下,您可能只需要c-basic-offset,但尝试一些组合,看看哪种组合效果最好。

票数 7
EN

Stack Overflow用户

发布于 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中有如下内容:

代码语言:javascript
复制
(defvaralias 'c-basic-offset 'tab-width)
(defvaralias 'cperl-indent-level 'tab-width)
(defvaralias 'perl-indent-level 'tab-width)
(defvaralias 'js-indent-level 'tab-width)

这样我就有更少的变量要处理了(而且不需要得到关于文件局部变量不安全的警告,或者如果模式编写器忘记声明它是安全的)

票数 6
EN

Stack Overflow用户

发布于 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“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4006005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档