2009-01-28 11 views
7

में टैब लेबल/शीर्षक लंबाई को एक निश्चित आकार में सेट करने के लिए कैसे करें जैसे कि मैं vi/vim (7.2) में नए टैब खोलता हूं, अगर खुली फ़ाइलें अलग-अलग पथों में हैं, तो टैब शीर्षक पूर्ण पथ प्रदर्शित करता है और स्क्रीन रीयल एस्टेट को हॉग करता है ताकि अन्य टैब दिखाई न दें। इसका मतलब है कि मैं अपने माउस का उपयोग उस टैब पर क्लिक करने के लिए नहीं कर सकता जिसे मैं चाहता हूं लेकिन & टैब के बीच स्थानांतरित करने के लिए कीबोर्ड कमांड का उपयोग करना होगा।vi/vim - अक्षर

क्या कोई तरीका है कि मैं टैब शीर्षक को अधिकतम 'आकार/लंबाई' तक सीमित कर सकता हूं, इसलिए मुझे केवल एक दूरस्थ सापेक्ष पथ में फ़ाइल के अंतिम 12 वर्णों को देखने के लिए मिलता है?

उत्तर

2

मेरे अपने प्रश्न के जवाब में:

ऊपर Chad Birch पढ़ने और सेटिंग tabline के लिए googling के बाद मुझे लगता है कि काम कर देता है TabLineSet प्लगइन पाया, और स्क्रिप्ट स्पष्टीकरण के कुछ here

+0

क्या आप कुछ उदाहरण जोड़ सकते हैं। दस्तावेज अपर्याप्त है। – cmcginty

+0

TabLineSert प्लगइन स्थापित करें और अपनी .vimrc फ़ाइल में वे वैरिएबल सेट करें जिन्हें आप निम्नानुसार चाहते हैं: "TabLineSet_ vars की पूरी सूची के लिए g: TabLineSet_max_tab_len = 20" को TabLineSet.vim पर देखें – molicule

1
:help setting-tabline 

प्रासंगिक जानकारी होने लगती है, लेकिन मैं आपको सटीक प्रभाव प्राप्त करने में सहायता करने में सक्षम होने के लिए विम स्क्रिप्टिंग के साथ पर्याप्त परिचित नहीं हूं। उम्मीद है कि कोई और इस बिंदु से उठा सकता है।

यह भी देखें:

:help statusline 

विभिन्न जानकारी मुद्रण के बारे में कुछ जानकारी है कि उपयोगी हो जाना चाहिए।

1

मैंने पाया निम्नलिखित blog post सभी का सबसे संक्षिप्त था।

लिंक निम्न कार्य प्रदान करता है जो आपके .gvimrc फ़ाइल में रखा जाना चाहिए।

function! GuiTabLabel() 
    " add the tab number 
    let label = '['.tabpagenr() 

    " modified since the last save? 
    let buflist = tabpagebuflist(v:lnum) 
    for bufnr in buflist 
     if getbufvar(bufnr, '&modified') 
      let label .= '*' 
      break 
     endif 
    endfor 

    " count number of open windows in the tab 
    let wincount = tabpagewinnr(v:lnum, '$') 
    if wincount > 1 
     let label .= ', '.wincount 
    endif 
    let label .= '] ' 

    " add the file name without path information 
    let n = bufname(buflist[tabpagewinnr(v:lnum) - 1]) 
    let label .= fnamemodify(n, ':t') 

    return label 
endfunction 

set guitablabel=%{GuiTabLabel()} 
7

आप 'guitablabel' सेटिंग के साथ gvim के लिए यह बहुत अच्छी तरह से कर सकते हैं।

यहां मेरे .gvimrc का एक अंश है, जो डिफ़ॉल्ट रूप से फ़ाइल नाम के 12 वर्णों को दिखाने के लिए डिफ़ॉल्ट रूप से संशोधित करता है, लेकिन संशोधित बफर के लिए '+' रखता है। टूलटिप को अनमोडिफाइड छोड़ दिया गया है, इसलिए आप उस से पूरा पथ प्राप्त कर सकते हैं या कमांड मोड में Ctrl-G दबाकर।

 
if version >= 700 
    "set showtabline to show when more than one tab 
    set showtabline=1 
    "set tab labels to show at most 12 characters 
    set guitablabel=%-0.12t%M 
endif 

" don't show the toolbar in the GUI (only the menu) 
set guioptions-=T 

" don't show tear-off menus 
set guioptions-=t 
संबंधित मुद्दे