防止emacs混合制表符和空格?

Posted

技术标签:

【中文标题】防止emacs混合制表符和空格?【英文标题】:Prevent emacs from mixing tabs and spaces? 【发布时间】:2011-04-04 21:44:22 【问题描述】:

背景:

我主要是一名 javascript 开发人员。浓缩咖啡模式摇摆不定。

我在一个其他人接触我的代码(我也是他们的)的团队中工作。不同的人对标签宽度有不同的偏好。我四岁喜欢我的,同事两岁喜欢他的。

如果您混合使用制表符和空格,JSLint 会抱怨(是的,我知道您可以将其关闭 - 但它有助于让我保持清醒)。

我在空白模式下盯着我的缓冲区,并且可以清楚地看到当我换行和制表符时,它会插入一堆制表符,然后......四个空格。

如何防止这种行为?一行的第一个可见字符之前的唯一空格应该是制表符...

【问题讨论】:

【参考方案1】:

您需要在您的 emacs 配置中调整几个设置。

(setq tab-width 4)        ;; set your desired tab width
(setq indent-tabs-mode t) ;; use tabs for indentation

您可能还需要在 javascript 模式下调整缩进偏移量,以便每个缩进是制表符宽度的倍数(对于基于 C 的模式,它称为 c-basic-offset)。

【讨论】:

这真的不适合我。我仍然得到空格而不是制表符。我将尝试深入了解它并稍后添加更多信息。 你找到答案了吗@KasperSouren?

以上是关于防止emacs混合制表符和空格?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 emacs 设置为在 verilog 模式下使用 3 个空格而不是制表符?

如何抑制错误:混合空格和制表符?

在 Emacs 中以文本模式设置 4 空格缩进

抑制 JSHint / JSLint 或替代服务中的“混合空格和制表符”警告?

emacs 修复 python 的制表符缩进

Emacs 全局配置选项卡