विम में विशिष्ट बफर के साथ बाहरी निष्पादित करें


0

मान लें कि मेरे पास अलग-अलग विंडो में खोले गए एक से अधिक बफर हैं।

मैं एक तर्क के रूप में एक विशिष्ट बफर के साथ एक बाहरी कमांड को कैसे निष्पादित कर सकता हूं?

कहो मैं अमल करना चाहता हूं :!g++ "buffer no"

ऐसा कैसे करें?

जवाबों:


2

आपका बाहरी आदेश किसी बफ़र नंबर के साथ कुछ भी करने में सक्षम नहीं होगा, आपको इसे तर्क के रूप में एक फ़ाइल नाम देना होगा। आप उपयोग कर सकते हैं bufname() एक विशिष्ट बफर के बफर नाम पाने के लिए:

:execute "!g++ " . bufname(2)

देख :help bufname()

ध्यान दें कि, विभिन्न चीजों के कारण (आपकी) path मुख्य रूप से लेकिन आपके कंपाइलर के विकल्प भी), बफर नाम हो सकता है या नहीं जैसा आप चाहते हैं। आप उपयोग कर सकते हैं fnamemodify() अपने पथ के कुछ हिस्सों को निकालने के लिए या किसी रिश्तेदार मार्ग को पूर्ण या जो भी हो:

:execute "!g++ " . fnamemodify(bufname(2), ':p:h')

देख :help fnamemodify() और जुड़ा हुआ है :help filename-modifiers

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.