2010-09-24 9 views
26

में प्रारूप रूबी कोड बस इस समय विम पर आगे बढ़ रहा है। टेक्स्टमैट में मैं सीएमडी - Alt - [ पर मारकर कोड प्रारूपित कर सकता था। मैं विम में इसे कैसे प्राप्त करूं?विम


कमांड के लिए नीचे दिए गए उत्तर को देखें। मैंने पाया कि मुझे अपने .vimrc में निम्नलिखित की भी आवश्यकता है ताकि विम को रूबी को ऑटोइंडेंट करने के बारे में पता था।

gg=G 

सामान्य मोड में:

if has("autocmd") 
    filetype indent on 
endif 

उत्तर

40

Vimcasts मैं आमतौर पर भ्रम की स्थिति महसूस इस विषय है कि आप

gg=G 

gg => go to start of file 
= => apply autoformatting 
G => ... to the end of file 
+0

मैंने इसे एक रूबी फ़ाइल में करने की कोशिश की और यह सभी लाइनों को इंडेंट कर दिया ताकि वे बाईं ओर से 8 अक्षर शुरू कर सकें। यह मूल इंडेंटेशन को पूरी तरह नजरअंदाज कर दिया। – opsb

+0

फ़ॉर्मेटिंग समस्या के समाधान के लिए मूल प्रश्न में संपादित देखें। – opsb

+0

विमकास्ट देखा, यह – opsb

0

ggVGgq वर्तमान filetype

+5

मुझे लगता है कि ggVG = वही करेगा। –

+1

मैंने ggVGqg की कोशिश की और दस्तावेज़ को दोबारा सुधारने के दौरान यह पूरी तरह से गलत था उदा। पहली विधि परिभाषा की पहली पंक्ति कक्षा परिभाषा रेखा के अंत में फंस गई थी। मैं स्वरूपण का कोई अर्थ नहीं बना सका। – opsb

+0

फ़ॉर्मेटिंग समस्या के समाधान के लिए मूल प्रश्न में संपादित देखें। – opsb

3

प्रयास के अनुसार पूरी फ़ाइल पुनः प्रारूपित करेंगे।

15

में रुचि हो सकती जब मैं विम और पुन: फ़ॉर्मेट और reindenting के बारे में सवाल देखने पर a useful screencast है। लेकिन यह बहुत आसान है।

= कुंजी के साथ किया गया पुनर्वितरण, किसी लाइन लाइन को डाले बिना लाइन इंद्रधनुष को स्थानांतरित करने की प्रक्रिया है - कोई कठोर रैपिंग नहीं। सीधे शब्दों में कहें, चयनित लाइनों के कॉलम बदल सकते हैं, लेकिन सामग्री नहीं कर सकती है।

दूसरी तरफ, सुधारण कोड के चयनित टुकड़े का पूर्ण पुनर्लेखन है। सीधे शब्दों में कहें, सब कुछ हटा दिया गया है और विम में परिभाषित भाषा नियमों के अनुसार फिर से लिखा गया है। आसान, हुह?

reindentation के लिए हमेशा की तरह patern फ़ाइल (जीजी) की शुरुआत करने के लिए जाना है, लाइन चयन (वी) करने के लिए परिवर्तन, फ़ाइल के अंत (जी) के पास जाकर पुनर्मिलन करें (=)।

vim में खिसकने है कि: जीजीवीजी=

पैटर्न Reformatting बहुत ही कुंजी (जीजी के साथ शुरू होतावीजी), लेकिन बराबर कुंजी के बजाय, आप जीq - सुधार Vim कमांड करते हैं।

कि vim में स्वरूपण है: जीजीवीजीजीक्ष

यह भी सादा पाठ के साथ हर विम उदाहरण में बाहर के बॉक्स काम करता है। केवल जब विम प्रोग्रामिंग भाषा को नहीं समझता है तो आपको इसे सही स्वरूपण नियम प्रदान करना होगा (आमतौर पर .vim फ़ाइलों का समूह जो .vim निर्देशिका संरचना में जाना है)।

रूबी के लिए सुधारना केवल तभी काम करता है जब प्लगइन विम-रूबी स्थापित होता है।

मुझे यह on my blog प्रकाशित करना था ;-) क्या विम शांत नहीं है? यह है।

0

मैंने एक वीआईएम प्लगइन जारी किया जो रूबी फ़ाइलों के लिए कुछ और व्यापक स्वरूपण करेगा।

vim-autoformat-rails

0

छोटे खरोज के लिए, कोशिश: खिसकने के अलावा, इसे हटाने पिछली श्वेत रिक्ति तरह बातें, और लगातार बाहर रिक्त स्थान विधि घोषणाओं करता =}, =)

2

आप अधिक के लिए देख रहे हैं इंडेंटेशन की तुलना में, ruby-beautify पर एक नज़र डालें। इसे vim-autoformat के माध्यम से vim के साथ एकीकृत किया जा सकता है।