कहो मेरे पास एक पायथन स्क्रिप्ट है जिसमें एक रनटाइम त्रुटि है:
$ cat example.py
#! /usr/bin/env python3
a = 1/0
जो देता है:
$ python3 example.py
Traceback (most recent call last):
File "example.py", line 3, in <module>
a = 1/0
ZeroDivisionError: division by zero
मैं चाहता हूं कि विम उस फाइल की समस्याग्रस्त लाइन (इस मामले में लाइन 3) पर कूद जाए। मैं जानता हूँ कि विम ऐसा कर सकते हैं, क्योंकि यह साथ सी में संकलन समय पर त्रुटियों को पकड़ने के लिए बस ठीक काम करता है gcc
का उपयोग करते हुए :make
और quickfix
खिड़की।
ज़रूर, मैं विम की क्विकफ़िक्स विंडो को :set makeprg=python3\ %
और फिर से पॉप्युलेट कर सकता हूं :make
, लेकिन यह उस लाइन नंबर पर नहीं जाता है जहां ट्रेसबैक इंगित करता है। जब मैं :copen
इसे देखता हूं तो ट्रेस की पहली लाइन को हाइलाइट करता हूं, और मैं संबंधित लाइन नंबर पर नहीं जा सकता।
(मैं jessie
मामले में डेबियन पर विम 7.4 का उपयोग कर रहा हूं जो मायने रखता है।)
मेरे प्रश्न हैं:
क्या मैं विम को कॉन्फ़िगर कर सकता हूं ताकि यह पता चले कि पायथन ट्रेसबैक से संबंधित लाइन नंबर कैसे प्राप्त करें?
क्या मैं पायथन दुभाषिया को संशोधित कर सकता हूं ताकि त्रुटि प्रारूप तैयार किया जा सके कि विम पहले से ही जानता है कि संबंधित पंक्ति संख्या को कैसे पार्स और प्राप्त किया जाए?
errorformat
अनुसार समायोजित करें और Vim (देखें:help :compiler
और:help write-compiler-plugin
) के लिए एक कंपाइलर प्लगइन लिखें । प्रयास करता है, तो आप नहीं जानते कि लायक शायद नहीं बिल्कुल आप क्या कर रहे हैं और आप उत्साही पर्याप्त डॉक्स से सब कुछ बाहर खुदाई करने के लिए नहीं कर रहे हैं।