2010-12-15 13 views
5

कुछ समय जो मैं समय-समय पर करना चाहता हूं वह बफर में एक vim कमांड के आउटपुट को पेस्ट करता है। जैसे जब मैं अपने vimrc संपादन कर रहा हूँ, यह सिर्फ करने के लिएक्या बफर में vim कमांड के आउटपुट को पेस्ट करने का कोई तरीका है?

"=set statusline?<Enter>p 

समस्या कुछ सदृश करने में सक्षम हो statusline साथ बेला के लिए सक्षम हो और उसके बाद के लिए अच्छा होगा कि पैदावार

E121: Undefined variable: set 
E15: Invalid expression: set statusline? 
Press ENTER or type command to continue 

मैं यह आंकड़ा है कि यह संभव है, और मुझे बस बिल्टिन फ़ंक्शंस और उनका उपयोग करने के बारे में पर्याप्त जानकारी नहीं है (मुझे expand यहां और वहां उपयोग किया गया है, लेकिन किसी भी संदर्भ में इसे सफलतापूर्वक मेरे लिए काम नहीं किया है), भले ही मैं (लगता है कि मैं) सामान्य मोड की एक बहुत अच्छी समझ है।

ध्यान दें कि यह विशिष्ट उदाहरण थोड़ा सा है, लेकिन मैं अभी बेहतर एक के बारे में नहीं सोच सकता। ऊपर दिए गए विशिष्ट उपयोग मामले के लिए, मैं पूरे कमांड को प्राप्त करने के लिए केवल ":p प्राप्त कर सकता था जिसे मैंने प्रयोग के दौरान उपयोग किया था और फिर सूट में संपादित किया था, लेकिन काफी नियमित रूप से मैं अन्य मामलों में चलाता हूं जहां मैं मुझे कुछ बताना चाहता हूं और फिर मैं पेस्ट करना चाहता हूं वह आउटपुट कहीं भी है ताकि मैं अपने काम को जारी रखते हुए इसे देख सकूं।

उत्तर

4

आप एक विकल्प सेटिंग चिपका सकते हैं।

+3

एक रजिस्टर में आउटपुट 'redir' और फिर रजिस्टर चिपकाएगा काम करेगा। या आप किसी और चीज के बारे में बात कर रहे हैं? –

+0

@ हर्बर्ट सिट्ज मुझे लगता है कि आपके पास इस प्रश्न का सबसे अच्छा जवाब है। मुझे 'redir' के बारे में पता नहीं था। –

+0

दरअसल, मुझे आपके द्वारा दिए गए प्रत्यक्ष पेस्ट विकल्प पसंद हैं, यह ऐसा कुछ है जिसका मैंने उपयोग नहीं किया है और स्वयं का उपयोग शुरू कर दूंगा। । । धन्यवाद। –

4

सेटिंग्स के मान वेरिएबल्स में संग्रहीत हैं जो & प्रतीक के साथ प्रीपेड हैं। तो statusline का मान &statusline संदर्भित करके एक्सेस किया जा सकता है। किसी दस्तावेज़ में सम्मिलित करने के लिए "अभिव्यक्ति" रजिस्टर, <ctrl-R>= का उपयोग करना है। इसका उपयोग करने के लिए डालने मोड दर्ज करें और <ctrl-R> दबाएं और फिर = दबाएं। आप कमांड लाइन में एक बराबर चिह्न देखेंगे, जहां आप दर्ज कर सकते हैं: &statusline और फिर enter दबाएं। यह मूल्य बफर में डालेगा। ,

"=&statusline<Enter>p 

मैं बफर में एक मनमाना आदेश के उत्पादन में डाल करने के लिए किसी भी तरह से के बारे में पता नहीं है, लेकिन:

+0

धन्यवाद- जब मैं ऐसा करता हूं तो मैं आमतौर पर सम्मिलित मोड में नहीं हूं, लेकिन यह जानना अच्छा है कि सेटिंग्स को एम्पर्सेंड के संदर्भ में संदर्भित किया गया है। –

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

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