2012-11-28 12 views
11

मैं अपने आर कोड के लिए सिंटैक्स हाइलाइटिंग प्रदान करने के लिए विम के साथ विम-आर-प्लगइन का उपयोग कर रहा हूं। नियमित इंडेंटेशन शैली कोष्ठक के उद्घाटन पर फ़ंक्शन में पैरामीटर को संरेखित करता है। मैं इसे घुंघराले ब्रेसिज़ के भीतर कोड की तरह अधिक बदलना चाहता हूं, जहां नई लाइनों को घुंघराले ब्रेसिज़ के साथ इनलाइन की बजाय दो रिक्त स्थान इंडेंट किया गया है।विम-आर-प्लगइन के साथ vim में इंडेंटेशन शैली बदलें

मेरे फ़ंक्शन नाम वर्बोज़ होते हैं और डिफ़ॉल्ट इंडेंटेशन शैली स्क्रीन के दाईं ओर सभी मेरे पैरों को धक्का देती है।

यहाँ कुछ उदाहरण है: for छोरों और समारोह परिभाषा के लिए

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

वांछित शैली की नकल करता है खरोज शैली।

# 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) 
} 

मैं विम-R-प्लगइन कोड को देखा, लेकिन यह बहुत घने मुझे समझने के लिए है। क्या इसे बदलने के लिए कोई रास्ता है?

+1

मुझे याद है कि ऑटो-इंडेंटेशन बंद कर रहा है और इसे मैन्युअल रूप से कर रहा है। और ऐसा लगता है कि किसी ने हाल ही में एक [समान प्रश्न] (https://github.com/jcfaria/Vim-R-plugin/issues/18) से पूछा था और कहा गया था कि इसे संभव बनाने के लिए कोई योजना मौजूद नहीं है। – BenBarnes

उत्तर

1

स्टार्टर्स के लिए :help 'cindent' और :help 'smartindent' पर एक नज़र डालें; आप इन दो विकल्पों में से किसी एक का उपयोग करके अपेक्षाकृत आसानी से इंडेंटेशन को कॉन्फ़िगर कर सकते हैं। आप अपना खुद का indentexpr लिखने का प्रयास भी कर सकते हैं, लेकिन यह थोड़ा उन्नत हो रहा है। इसके लिए एक विम-देशी इंडेंटेशन समाधान के पक्ष में विम-आर प्लगइन को मिटाने की आवश्यकता होगी।

4

कोई इस प्रश्न के लिए लग रहा है, तो:

:help r-plugin-indenting 

लघु जवाब। .vimrc में, उन पंक्तियों को जोड़ें:

" 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 

इंडेंटेशन ओपी द्वारा वर्णित किया जाएगा।

+0

हालांकि यह [Nvim-R प्लगइन] में दिखाई नहीं दिया था (https://github.com/jalvesaq/Nvim-R) मैनुअल, यह समाधान पूरी तरह से Nvim-R के साथ काम करता है। – jomuller

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