2012-05-26 13 views
6

मेरे विम सेटअप में मैं एक कॉन्फ़िगरेशन जोड़ना चाहता हूं जो एक निश्चित मैपिंग के साथ शेल कमांड चलाता है। क्या विस्क्रिप्ट में ऐसा करने का कोई संभावित तरीका है?विस्क्रिप्ट के माध्यम से खोल कमांड कैसे चलाएं?

उत्तर

7

वहाँ vim में एक system() समारोह है, इस प्रयास करें:

:call system('date') 
3

मैं पारंपरिक vi के साथ ऐसा करते हैं, तो मैं यह vim साथ के रूप में अच्छी तरह से काम करेगा मान।

मेरी .exrc में मेरे पास है:

map ^_ !}fmt 71 72^M 

(यह एक ^_Ctrl-V ctrl-_ टाइप करके दर्ज की गई है, और एक ^MCtrl-V Ctrl-M

टाइप करके प्रवेश किया

जब मैं 72 वर्णों तक ctrl-_ vi में, यह reformats मेरे वर्तमान लाइन मारा।

+1

वहाँ ' है' '^ _' और' 'के लिए '^ एम' (vim में, vi में नहीं) के लिए। Vimrc में कच्चे नियंत्रण कोड का उपयोग करने का सुझाव न दें, यह उन उपकरणों के आउटपुट को स्क्रैप करता है जो पाठ की अपेक्षा करते हैं (जैसे 'बिल्ली vimrc | grep fmt')। यह वीसीएस सिस्टम को एक बाइनरी फ़ाइल के रूप में vimrc को प्रभावी रूप से सादे 'vcs diff' को अक्षम करने और 'vcs diff -a' के आउटपुट को स्क्रैप करने के रूप में v grr भी कर सकता है जैसा कि यह' grep' के लिए करता है। इस तरह की चीज के लिए vim में 'nnoremap' भी है (आपको न तो अन्य मोड की आवश्यकता है और न ही उपयोगकर्ता मैपिंग विस्तार)। – ZyX

+0

अच्छे अंक। शायद मेरे (vi- उन्मुख) उत्तर और आपके परिष्करण के बीच, ओपी को एक अच्छा जवाब मिलेगा। :-) – ghoti

+0

इस सवाल के साथ पृथ्वी पर क्या करना है? – Lambart

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