2009-05-11 16 views
7

मैं आमतौर पर वीआईएम में रूबी फाइलों को संपादित करता हूं। मैं विधियों (डीफ़ ... अंत) को फोल्ड करना चाहता हूं। क्या आप कृपया फोल्ड सिंटैक्स को परिभाषित करने में मेरी मदद कर सकते हैं?वीआईएम में मुझे किस मोड़ का उपयोग करना चाहिए?

+0

क्या आप अपना प्रश्न स्पष्ट कर सकते हैं? मुझे शिफ्टविड्थ, रूबी और गुना वाक्यविन्यास के बीच कनेक्शन नहीं दिख रहा है? वे मेरे लिए तीन असंबंधित वस्तुओं की तरह लगते हैं। –

+0

हां मैं इसे भी नहीं देख सकता, कृपया स्पष्ट करें ;-) –

उत्तर

18

मान लिया जाये कि आप पहले से ही मिल गया है रूबी वाक्य रचना सेटअप पर प्रकाश डाला और काम, तह के लिए syntax मोड का उपयोग करें:

set foldmethod=syntax 

यह आपको परतों दे देंगे class .. end और def .. end, आदि

पर
3

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

यहाँ क्या मैं अपने vimrc में जा रहा है है:

" Folding stuff 
    hi Folded guibg=red guifg=Red cterm=bold ctermbg=DarkGrey ctermfg=lightblue 
    hi FoldColumn guibg=grey78 gui=Bold guifg=DarkBlue 
    set foldcolumn=2 
    set foldclose= 
    set foldmethod=indent 
    set foldnestmax=10 
    set foldlevel=0 
    set fillchars=vert:\|,fold:\ 
    set foldminlines=1 
" Toggle fold state between closed and opened. 
    " 
    " If there is no fold at current line, just moves forward. 
    " If it is present, reverse it's state. 
    fu! ToggleFold() 
    if foldlevel('.') == 0 
     normal! l 
    else 
     if foldclosed('.') < 0 
      . foldclose 
     else 
      . foldopen 
     endif 
    endif 
    echo 
    endf 

" Map this function to Space key. 
    noremap <space> :call ToggleFold()<CR> 
0

मैं तुम्हें तो पहली पंक्ति पर कर्सर डाल लगता है zfnj जहां n लाइनों की संख्या गुना करने के लिए (ताकि 10 लाइनों गुना करने के लिए आप zf10j woudl है)। मुझे लगता है कि यह समापन ब्रैकेट में फोल्ड करने के लिए PHP I की तरह वाक्यविन्यास को भी पहचान देगा। मैं रुबी में कोड नहीं करता, इसलिए मुझे नहीं पता कि यह रूबी में काम करता है या नहीं।

तब से, टॉगल करने के लिए, ज़ो खुल जाएगा और जेसी बंद हो जाएगा।

संबंधित मुद्दे