Emacs:动态设置一个文件的标签缩进

Mau*_*ord 25 emacs

我在一个开源项目上工作,创建者将他的tab-indents设置为2个空格.

我想为我工作的一个文件动态启用它而不是其他相同类型的文件.必须有类似的东西M-x set-tab-indent.它是以.js.结尾的JavaScript文件.

我知道我可以用:

(setq-default tab-width int)
Run Code Online (Sandbox Code Playgroud)

在我的.emacs文件中,但我只是调用一个M-x command来设置它并在我处理此文件的过程中忘记它.我试过M-x apropos和谷歌但找不到具体的命令.

谢谢.

Omr*_*rel 25

您可以使用以下内容将变量js-indent-level设置为缓冲区本地:

M-x make-variable-buffer-local <RET> js-indent-level <RET>

然后你可以使用以下方法在缓冲区中设置该变量:

M-x set-variable <RET> js-indent-level <RET> 2


phi*_*ils 13

您还可以使用文件局部变量为该文件自动化omrib的解决方案,方法是:

// Local Variables:
// js-indent-level: 2
// indent-tabs-mode: nil
// End:
Run Code Online (Sandbox Code Playgroud)


小智 9

单个缓冲区执行此操作的最简单方法是使用M-x set-variable.

  1. 键入M-x set-variable,然后按Enter
  2. 当提示输入要设置的变量时,请设置tab-width然后按Enter键
  3. 系统会提示您输入该行Set tab-width (buffer-local) to value:.输入您想要的值,然后按Enter键

应立即使用新值更新缓冲区.


nsc*_*hum 6

在项目的目录中创建一个".dir-locals.el"文件并填写如下:

((nil . ((tab-width . 2))))
Run Code Online (Sandbox Code Playgroud)

这将自动设置标签宽度,您不必修改实际文件(可能是版本控制的.)

有关格式的更多信息,请参见手册.我相信这需要Emacs 23.