Я використовую утиліту , яку я написав в C називається autotab. Він аналізує перші кілька тисяч рядків файлу, який ви завантажуєте, та визначає значення параметрів Vim shiftwidth, tabstopта expandtab.
Це компілюється з використанням, наприклад, gcc -O autotab.c -o autotab. Інструкції щодо інтеграції з Vim знаходяться в заголовку коментаря вгорі.
Автотабеля є досить розумною, але час від часу може заплутатися, зокрема через те, що вони неузгоджено підтримуються за допомогою різних стилів відступу.
Якщо файл, очевидно, використовує вкладки або комбінацію вкладок і пробілів, для відступу автозадача визначить, який розмір вкладки використовується, розглядаючи фактори, такі як вирівнювання внутрішніх елементів у послідовних рядках, наприклад коментарі.
Він працює для різних мов програмування і прощає для "поза межами" елементів, які не підкоряються кроку відступів, таких як директиви C попередньої обробки, мітки тверджень C, не кажучи вже про очевидні порожні рядки.