2012-07-16 9 views
12

मैं इस तरह एक स्ट्रिंग ले रही एक विम मानचित्रण है कि मौजूदा लाइन पर कार्यवाही करेंगे बनाने के लिए कोशिश कर रहा हूँ,:मैं मौजूदा लाइन को एक विस्क्रिप्टस्क्रिप्ट फ़ंक्शन में कैसे पास कर सकता हूं?

[boiled cabbage, mad donkey, elephant, very dark fudge] 

और यह अंत करने के लिए सभी सूची तत्वों के हवाले से:

["boiled cabbage", "mad donkey", "elephant", "very dark fudge"] 

मैंने विम रेगेक्स के साथ प्रयास किया, लेकिन लगा कि यह एक ऐसा फ़ंक्शन लिखना आसान होगा जो वर्तमान रेखा को तर्क के रूप में लेता है और रूपांतरित रेखा देता है। मुझे विस्क्रिप्ट में परिवर्तन करने में कोई समस्या नहीं है। लेकिन मैं फ़ंक्शन में वर्तमान पंक्ति को कैसे पास कर सकता हूं, और मैं लाइन को रूपांतरित लाइन के साथ कैसे बदलूं?

+2

आप सवाल का जवाब दे दिया गया है द्वारा फिर इसे उपयोग कर सकते हैं, लेकिन मैं आपको 'पर एक नज़र डालें अनुशंसा करते हैं: मदद समारोह-list'। – Raimondi

उत्तर

29

प्राप्त करने के लिए वर्तमान पंक्ति आप उपयोग कर सकते

let line=getline('.') 

(ध्यान दें: आप भी 11 लाइनों की एक सूची प्राप्त करने के getline(10, 20) कर सकते हैं)।

आप

call setline('.', line) 

उपयोग कर सकते हैं वर्तमान पंक्ति सेट करने के लिए। यदि आप इस फ़ंक्शन में कोई सूची पास करते हैं तो आप वर्तमान से शुरू होने वाली कई लाइनों को भी प्रतिस्थापित कर सकते हैं।

4

आप इसे एक रजिस्टर में जोड़ सकते हैं और फिर वहां से इसका उपयोग कर सकते हैं। byy आपके कर्सर की रेखा को रैंक करता है। आप का उपयोग @b

चेक बाहर http://vim.wikia.com/wiki/Word_under_cursor_for_command

+0

यह "बाई के बजाय बाई नहीं होना चाहिए? –

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

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