2012-01-25 19 views
8

मान लिया जाये कि मैं रूबी 1.9.x में एक विधि के लिए एक तर्क के रूप हैश निम्नलिखित विकल्प हैं:विम, सारणीबद्ध और रूबी 1.9 Hashes

my_method :arg1, 
    some_option: "value 1" 
    some_other_option:true 
    option_three: 123 

सारणीबद्ध विम प्लगइन का उपयोग करना, क्या नियमित अभिव्यक्ति प्राप्त करने के लिए किया जाएगा ,,

my_method :arg1, 
    some_option:  "value 1" 
    some_other_option: true 
    option_three:  123 

: है कुंजी के साथ संलग्न रहने के लिए के साथ विपरीत, उदाहरण के लिए JSON: विकल्प तो जैसे संरेखित हैश।

शायद एक अधिक आकर्षक शैली इस बजाय हो सकता है, जो और अधिक गठबंधन दिखता है:

my_method :arg1, 
     some_option: "value 1" 
    some_other_option: true 
     option_three: 123 

किसी भी संयोग से किसी को भी इन तालिका का उपयोग कर संरेखण के दोनों पूरा करने के लिए कैसे पता है?

धन्यवाद!

उत्तर

13

आदेश पहले संरेखण पाने के लिए, एक सही करने के लिए हैश कुंजी संरेखित के लिए आदेश

:Tab/\w:\zs/l0l1 

उपयोग कर सकते हैं, यह एक :Tabular आदेश लागू करने से पहले केवल उन्हें युक्त लाइनों का चयन करने के लिए अपरिहार्य लगता है,

:Tab/\w:\zs/r0l1l0 
+0

ध्यान दें कि ये आदेश सही तरीके से मामलों को संभालते हैं जब विधि कॉल तर्क या हैश मानों में प्रतीक होते हैं (जैसे प्रश्न: उदाहरण के स्निपेट में 'arg1')। –

1

मैं टैब्यूलर का बहुत उपयोग करता हूं लेकिन मुझे कभी भी "उन्नत" विशेषताओं का प्रयास करने का मौका नहीं मिला है। एक मामले में अपने उदाहरण की तरह :help tabular में प्रस्तुत किया है:

:Tabularize /,/r1c1l0 

     Some short phrase , some other phrase 
A much longer phrase here , and another long phrase 

जो यह क्या कॉल "प्रारूप विनिर्देशक" का उपयोग करता है।

तो, विकल्प (दृश्य चयन के बाद) को यह आदेश लागू करने के चाल करना होगा: स्वयं को

:'<,'>Tabularize /:/r1c1l0 

my_method :arg1, 
     some_option : "value 1" 
    some_other_option : true 
     option_three : 123 

नोट: अधिक तालिका के साथ खेलते हैं।