मैं एक उपयोगिता का उपयोग करता हूं जो मैंने सी नामक में लिखा था autotab। यह फ़ाइल की पहली कुछ हज़ार लाइनों का विश्लेषण करता है जिसे आप विम मापदंडों के लिए मानों को लोड और निर्धारित करते हैं shiftwidth, tabstopऔर expandtab।
उदाहरण के लिए, इसका उपयोग किया जाता है gcc -O autotab.c -o autotab। विम के साथ एकीकरण के निर्देश शीर्ष पर टिप्पणी शीर्ष लेख में हैं।
ऑटोटैब काफी चालाक है, लेकिन समय-समय पर भ्रमित हो सकता है, विशेष रूप से इसके द्वारा विभिन्न अविवेक शैलियों का उपयोग करते हुए असंगत रूप से बनाए रखा गया है।
यदि कोई फ़ाइल स्पष्ट रूप से टैब, या टैब और रिक्त स्थान के संयोजन का उपयोग करता है, तो इंडेंटेशन के लिए, ऑटोटैब यह पता लगाएगा कि किस प्रकार के टैब का उपयोग कारकों पर विचार करके किया जा रहा है, जैसे कि लगातार लाइनों पर आंतरिक तत्वों को संरेखित करना, जैसे कि टिप्पणियां।
यह विभिन्न प्रकार की प्रोग्रामिंग भाषाओं के लिए काम करता है, और "बैंड से बाहर" तत्वों के लिए क्षमा कर रहा है, जो इंडेंटेशन वेतन वृद्धि का पालन नहीं करते हैं, जैसे कि सी प्रीप्रोसेसिंग निर्देश, सी स्टेटमेंट लेबल, स्पष्ट रिक्त लाइनों का उल्लेख नहीं करना।