Emacs 代码根据现有代码自动设置 indent-tabs-mode

Posted

技术标签:

【中文标题】Emacs 代码根据现有代码自动设置 indent-tabs-mode【英文标题】:Emacs code to automatically set indent-tabs-mode according to existing code 【发布时间】:2011-04-13 04:28:45 【问题描述】:

是否有现成的 Emacs 代码/包可以根据被访问的文件自动设置 indent-tabs-mode?也就是说,如果当前访问的文件使用制表符进行缩进,则应将 indent-tabs-mode 设置 buffer-locally 为 true。相应地,如果使用空格,则应将 indent-tabs-mode 设置为 false。这样做的目的是自动检测和使用现有项目的选项卡模式(不需要 Emacs 特定的文件变量注释),以与现有代码的选项卡样式保持一致。

此检测的更高级版本可能会适应单个文件可能具有混合制表符和空格的事实。在这种情况下,一个明智的启发式可能是在缩进时使用前一行的制表符模式,而不是决定整个文件的全局制表符模式。

【问题讨论】:

emacswiki.org/emacs/FuzzyFormat 【参考方案1】:

您可能还对 dtrt-indent 感兴趣,它会在使用空格进行缩进时检测偏移量,并确定是否使用了制表符。

http://savannah.nongnu.org/projects/dtrt-indent/

【讨论】:

Emacs24 现在包含了 M-x c-guess。这似乎正确地猜测了缩进,但它没有启用制表符和空格。

以上是关于Emacs 代码根据现有代码自动设置 indent-tabs-mode的主要内容,如果未能解决你的问题,请参考以下文章

emacs 使用笔记

Emacs 为内联(行尾)注释设置间距

在 Emacs 的 C/C++ 模式下,将 #if 0...#endif 块中的代码面更改为注释面

emacs配置文件

维护用户安装的elisp的Emacs自动加载文件?

Xcode 设置代码不自动换行