我找不到这个:如何在EMACS中使用4个SPACES而不是TAB?

Urd*_*rda 5 php emacs elisp

我正在跳转到EMACS,我找不到我需要在我的.emacs文件中做什么来获得php模式和所有其他模式插入4个空格而不是TAB.救命?

更新:

当我点击标签时,我仍然在普通文件中获得8个空格并给出答案.在php模式中,我仍然获得2个空格.在PHP模式下点击选项卡什么都不做,常规EMACS中的选项卡添加8个空格.

UPDATE2:

这就是我的意思.emacs:

(require 'color-theme)
(color-theme-calm-forest)

(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
(setq c-basic-offset 4)
Run Code Online (Sandbox Code Playgroud)

仍然在常规文件中有8个空格,而在PHP文件中,标签不起作用,或者现在随机跳转.我的php模式来自Ubuntu 9.10apt-get install php-mode


UDATE3:

好的这就是我想要的......

  1. 当我按下TAB键时,当我总是按TAB键时,我想要插入4个SPACES.
  2. 我希望TAB键跳转到上一行的相对位置(自动选项卡到最后一行,再次输入SPACES)

这些规则需要应用于所有文件,但如果需要,首先需要应用于(文本)和PHP文件.

And*_*ein 9

将变量indent-tabs-mode更改为nil.您可以通过交互方式(仅针对一个缓冲区)进行操作M-x set-variable.为了使它永久(和所有缓冲区),放

 (setq-default indent-tabs-mode nil)
Run Code Online (Sandbox Code Playgroud)

在你的init文件中.

要使标签在大多数模式下只做4个空格,也可以添加

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

对于基于C的模式(如PHP),您将不得不这样做:

(setq c-basic-offset 4)
Run Code Online (Sandbox Code Playgroud)

  • 对于基于C模式的模式,可以使用`c-basic-offset`变量来确定要缩进的列数.试试`(setq-default c-basic-offset 4)` (2认同)