2009-09-07 7 views
6

में वेरिएबल-चौड़ाई टैब स्पेसिंग को कॉन्फ़िगर करना मैं कभी-कभी विम को टैब-स्वरूपित फ़ाइलों को पढ़ने के लिए चाहता हूं जहां सबसे उचित प्रारूपण गैर-वर्दी टैब चौड़ाई का तात्पर्य है।विम

5, 30, 50, 60, 70, 80

मैं इस विम में कर सकते हैं: दूसरे शब्दों में, मैं पदों पर एक टैब बंद करना चाहते हैं?

+0

परिवर्तनीय टैबस्टॉप नामक एक सुविधा है जिसे विम में लंबे समय तक लात मार दिया गया है। यह पिछले कुछ दिनों में मास्टर शाखा में बस फिर से बदल गया था। मैंने इसे थोड़ा सा परीक्षण किया है - कुछ अंकगणितीय त्रुटियों से बचने के लिए इसे पैच करना था, लेकिन अब यह बहुत स्थिर दिखाई देता है। आप बहुत जल्द भाग्य में हो सकता है। – Cascabel

उत्तर

1

वर्तमान में नहीं। किसी भी आधिकारिक निर्माण के साथ नहीं।

हालांकि, अगर आप अपनी तरफ थोड़ा प्रयास करने के इच्छुक हैं, तो मुझे याद है कि ऐसा कुछ करने के लिए एक पैच था। विम के पैच पेज देखें।

+0

यह पैच? https://groups.google.com/forum/#!topic/vim_dev/eNOQO06iRZQ –

4

यदि आपको वास्तव में टैबस्टॉप बदलने की ज़रूरत नहीं है और केवल रिक्त स्थान की सही संख्या डालने से दूर हो सकता है, तो मैं सुझाव दूंगा कि आप इसे स्क्रिप्ट करेंगे। यहां एक त्वरित और गंदे संस्करण है जो आप चाहते हैं:

let s:tabstops = [0, 5, 30, 50, 60, 70, 80] 
fun! Find_next(pos) 
    if a:pos > min(s:tabstops) && a:pos < max(s:tabstops) 
    let my_count = 0 
    while my_count < len(s:tabstops) - 1 
     if a:pos > get(s:tabstops, my_count) && a:pos < get(s:tabstops, my_count+1) 
     return get(s:tabstops, my_count+1) 
     endif 
     let my_count = my_count + 1 
    endwhile 
    return -1 
    endif 
    return -1 
endfun 
fun! Tabbing() 
    let pos = col('.') 
    let next_stop = Find_next(pos) 
    let the_command = "normal i" 
    let my_count = 0 
    while my_count < next_stop - pos 
    let the_command = the_command . " " 
    let my_count = my_count + 1 
    endwhile 
    let the_command = the_command . "" 
    execute the_command 
endfun 
imap <TAB> j<ESC>:call Tabbing()<CR>lxi 
+0

यह एक अच्छा फ़ंक्शन है, हालांकि यह किसी मौजूदा फ़ाइल को पुन: स्वरूपित नहीं करेगा, जो मुझे चाहिए, लेकिन मेरी अपनी फ़ाइल को स्वरूपित करने में सहायता करें उड़ना। – Magnus