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