2012-11-28 14 views
11

R kodum için sözdizimi vurgulaması sağlamak için Vim ile Vim-R eklentisini kullanıyorum. Düzenli girinti stili, parametreleri parantezlerin açıldığı sırada hizalar. Kıvrık parantez içinde daha fazla kod olarak değiştirmek istiyorum. Burada yeni çizgiler, kaşlı ayraçlarla satır içi yerine iki boşluk girintili.Vim-R-plugin ile vimdeki R giriş stilini değiştirin

İşlev adlarım, ayrıntılı olma eğilimindedir ve varsayılan girinti stili, tüm parametrelerimin ekranın sağına doğru itilmiş tüm parametrelerinden ayrılır.

İşte bazı örnekler verilmiştir: for döngüler ve fonksiyon tanımları için

# Default indentation style 
result <- fun(
       par1 = "abc", 
       par2 = "def", 
       par3 = 3 
      ) 

istenen stil taklit girinti tarzı.

# Desired indentation style 
result <- fun(
    par1 = "abc", 
    par2 = "def", 
    par3 = 3 
) 

# Similar to for loop indentation 
for(i in 1:10) { 
    print(i) 
} 

# ... and function definitions 
fun <- function(par1 = 1) { 
print(par1 + 1) 
} 

Vim-R eklenti koduna baktım ama anlaması benim için çok yoğun. Değiştirmem için bir yolu var mı?

+1

Otomatik girintiyi kapatıp el ile yapmayı hatırlıyorum. Ve yakın zamanda birisine [benzer bir soru] (https://github.com/jcfaria/Vim-R-plugin/issues/18) sordu ve bunu mümkün kılmak için hiçbir planın mevcut olmadığı söylendi. – BenBarnes

cevap

1

Yeni başlayanlar için :help 'cindent' ve :help 'smartindent''a bir göz atın; Bu iki seçenekten birini kullanarak girintiyi nispeten kolayca yapılandırabilirsiniz. Kendi indentexpr'unuzu yazmayı da deneyebilirsiniz, ancak bu biraz ilerlemiştir. Bu, Vim-R eklentisinin bir Vim-doğal girinti çözümü lehine hendilmesini gerektirecektir. Birisi bu soru için görünüyorsa

4

:

:help r-plugin-indenting 

Kısa cevap. .vimrc olarak, bu çizgileri ekleyin:

" set vim-r-plugin to 
let r_indent_align_args = 0 

" Set vim-r-plugin to mimics ess : 
let r_indent_ess_comments = 0 
let r_indent_ess_compatible = 0 

girinti OP tarafından tarif edilen gibi olacaktır.

+0

[Nvim-R eklentisi] (https://github.com/jalvesaq/Nvim-R) el kitabında görünmese de, bu çözüm Nvim-R ile mükemmel şekilde çalışır. – jomuller

İlgili konular