2011-09-05 38 views

cevap

4

Sen & kullanarak bir seçenek içeriğini erişebilirler. makeprg varsayılan değeri olmadığını

if &makeprg == "" 
    set makeprg=new_value 
endif 

--- DÜZENLEME ---

Xavier iyi bir noktaya değindi: seçenek böyle "boş" Yani eğer bu durumda kontrol edebilir boş bir dize.

function! SetMakePrg(new_value) 
    let cur_value=&makeprg 
    " let new_val=a:new_value 
    set makeprg& 
    if &makeprg == cur_value 
     " cur_value is default: set to new value 
     exe "set makeprg=" . a:new_value 
    else 
     " cur_value is not default: change it back 
     exe "set makeprg=" . cur_value 
    endif 
endfunction 

Yani call SetMakePrg("my_make") çağıran seçeneği değiştirir öyle değil yalnızca: Aşağıdaki akım değeri varsayılan yalnızca değerini değiştirmek için kullanılabilir, böylece kendi varsayılan bir seçeneği ayarlamak için set {option}& kullanabilirsiniz şu anda varsayılan.

+2

Ben makeprg varsayılan değeri boş olduğundan emin değilim, varsayılan .' 'yapmak' (ama vb OS bağlı olarak değişebilir) olduğunu tahmin:? Ayrıntılı set makeprg 'makeprg = yüzden dosya adı olmadan yapmak döndürür Sanırım bu varsayılan değerdir. –

İlgili konular