如何配置 Kate 自动检测 spaces/tabs 缩进?

How do I configure Kate to automatically detect spaces/tabs indentation?

我搞砸了由完全不相关的一群人编写的软件,它们都使用完全不同的缩进标准。我可以接受必须设置缩进宽度,但没有什么比打开带有选项卡的文件、进行一些更改并发现我的更改使用 spaces 代替缩进更烦人的了。

我写的所有软件都使用四space缩进。然后我去制作一个 Quake 3 mod 并且整个代码库都使用选项卡。当我进行更改时,我必须非常小心地首先设置我的缩进设置,否则我将不得不在每次提交之前手动重写缩进。

我检查了设置,但找不到任何东西。 tabs-and-spaces mode 实际上并没有做任何特别的事情,只是将其设置为 tabs mode (重置后)。我浏览了 google,发现的只有 this extremely unhelpful mailing list message。检测一致的缩进并不难,其他文本编辑器处理得很好,它不一定是完美的,它只需要大部分时间都能工作。

如果凯特有这个设置,它在哪里,如果没有,什么时候会有这样的设置?如果我不能让凯特这样做,我将不得不关闭它。我已经用过 Notepad++ 和 Geany,但它们在对超大文件(例如数十兆字节的文本)执行正则表达式或渲染单声道 space 非欧洲文本时都存在严重问题。

很遗憾,kate 目前不支持此功能。从 2005 年开始就有一个 bug report,但还没有人实现它(是的,13 年前)。

Kate 支持的是 Kate 模型行(也称为文档变量)。例如,您可以在文本文档中写入例如:

// kate: replace-tabs on; indent-width 4;

然后包含此评论的文档将自动使用4个空格并使用空格缩进。

除了将这些注释写入文件之外,您还可以将其写入名为 .kateconfig 的文件中。您可以在 this article.

中找到有关 .kateconfig 文件和模式行的更多信息