2009-05-11 13 views
7

Genelde VIM'de RUBY dosyalarını düzenlerim. Yöntemlerin (def ... sonu) katlanmasını istiyorum. Katlama sözdizimini tanımlamama yardımcı olabilir misiniz? Zaten Yakut sözdizimi kurulum vurgulama ve çalışma var varsayarsakVIM'de hangi katları kullanmalıyım?

+0

Sorunuzu açıklayabilir misiniz? Vardiya genişliği, yakut ve katlama sözdizimi arasındaki bağlantıyı görmüyorum? Bana üç alakasız ürün gibi görünüyorlar. –

+0

Evet, ben de göremiyorum, lütfen; –

cevap

18

, katlamaya syntax modunu kullanmak:

set foldmethod=syntax 

Bu kıvrımlar verecektir vs class .. end ve def .. end,

üzerinde
3

Herşeyi varsayılan olarak katlamayı seviyorum ve bu, katlama ile ilgili bir sürü şeyi değiştirmenize izin verecektir. Ben çoğunlukla Perl ve C++ kodlamasını yapıyorum ve bununla iyi çalıştığını görüyorum. Katlama ve açılma boşluk tuşuna eşlenir. İşte

benim vimrc gidiyor olması ne:

" 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

ben o zaman ilk satırda imleci koydu düşünüyorum zfnj n böylece zf10j woudl 10 satır katlamayı (katlamayı hatlarının sayısıdır). Aynı zamanda PHP'de olduğu gibi sözdizimini de tanıyacağımı düşünüyorum. Ruby'de kodlamıyorum, bu yüzden Ruby'de çalışıp çalışmadığını bilmiyorum.

Bundan sonra açmak, değiştirmek için zo açılır ve zc kapanır.

İlgili konular