स्वचालित कमांड प्रतिस्थापन?


1

कोडिंग करते समय मुझे अक्सर एक निश्चित फ़ाइल की एक निश्चित लाइन में त्रुटियां मिलती हैं। अक्सर कंपाइलर या प्रोसेसर से आउटपुट का फ़ाइल नाम होता है: LINENUMBER, उदा /home/math/foo.bar:60। चूँकि मैं vim का उपयोग करता हूं, तो मैं अक्सर अनुगामी बृहदान्त्र और लिननम्बर के साथ पथ को कॉपी करता हूं और बृहदान्त्र को एक स्थान और '+' वर्ण से प्रतिस्थापित करता हूं, उदाहरण के लिए: vim /home/math/foo.bar +60इस पंक्ति में इस फ़ाइल के साथ vim खोलने के लिए। तो क्या कोई ऐसा तरीका है जिससे मैं इसे स्वचालित कर सकता हूं? और क्या होगा अगर फ़ाइलनाम में उनके नाम के अंदर कॉलोन हैं? जैसा कि मैं केवल पॉज़िक्स सिस्टम में दिलचस्पी रखता हूं, जहां कॉलन आमतौर पर फ़ाइल नाम में नहीं होते हैं, मैं आपके सुझावों का इंतजार कर रहा हूं।

जवाबों:


2

आपको इसे अपने आप स्वचालित करने की आवश्यकता नहीं है।

vim पहले से ही उचित स्रोत फ़ाइल और लाइन पर जंपिंग को संभालने के लिए तंत्र है। या तो ...

  • … अपने कंपाइलर की मानक त्रुटि को एक अस्थायी फ़ाइल में लिखेंvim और उसकी क्विकफ़िक्स फ़ाइल के रूप में उसके साथ खोलें :
    vim -q त्रुटियों_फाइल
  • ... अपने कंपाइलर vimका उपयोग करके अपने भीतर से :makeइनवॉइस करें, जो स्वचालित रूप से एक अस्थायी क्विकफ़िक्स फ़ाइल का उपयोग करेगा।

इस पर और अधिक है :help quickfix


0

आप दौड़कर अंदर की तरफ से संकलन कर सकते हैं :makeऔर फिर आप स्वचालित रूप से लाइन में चले जाएंगे।


भले ही फ़ाइल अभी तक नहीं खोली गई हो?
गणित

0

यदि कंपाइलर आउटपुट विम बफर में है, तो आप फ़ाइल नाम पर कर्सर ले जा सकते हैं: लिननम्बर और टाइप gF। विम उस लाइन पर कर्सर के साथ उस फ़ाइल को खोल देगा। देख

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