ว่าฉันมีสคริปต์หลามกับข้อผิดพลาด runtime:
$ 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 ในกรณีนี้) ฉันรู้ว่ากลุ่มสามารถทำเช่นนี้เพราะมันทำงานได้ดีสำหรับการจับข้อผิดพลาดในเวลารวบรวมใน C กับการgcc
ใช้:make
และquickfix
หน้าต่าง
แน่นอนว่าฉันสามารถเติมหน้าต่าง Quickfix ของ Vim ด้วย:set makeprg=python3\ %
แล้ว:make
แต่จะไม่ข้ามไปยังหมายเลขบรรทัดที่ traceback ชี้ไปที่ เมื่อฉันมองเข้าไป:copen
ก็แค่ไฮไลท์บรรทัดแรกของการติดตามและฉันไม่สามารถข้ามไปยังหมายเลขบรรทัดที่เกี่ยวข้องได้
(ฉันใช้ Vim 7.4 บน Debian jessie
ในกรณีที่สำคัญ)
คำถามของฉันคือ:
ฉันสามารถกำหนดค่า Vim เพื่อให้รู้วิธีรับหมายเลขบรรทัดที่เกี่ยวข้องจากการติดตาม Python ได้หรือไม่
ฉันสามารถแก้ไข Python interpreter เพื่อพ่นรูปแบบข้อผิดพลาดที่ Vim รู้วิธีแยกวิเคราะห์และรับหมายเลขบรรทัดที่เกี่ยวข้องได้หรือไม่
errorformat
ตามและเขียนปลั๊กอินคอมไพเลอร์สำหรับ Vim (ดู:help :compiler
และ:help write-compiler-plugin
) อาจไม่คุ้มค่ากับความพยายามหากคุณไม่รู้ว่าคุณกำลังทำอะไรอยู่และคุณไม่กระตือรือร้นพอที่จะขุดทุกอย่างออกจากเอกสาร