Katakanlah saya memiliki skrip python dengan kesalahan runtime:
$ cat example.py
#! /usr/bin/env python3
a = 1/0
pemberian yang mana:
$ python3 example.py
Traceback (most recent call last):
File "example.py", line 3, in <module>
a = 1/0
ZeroDivisionError: division by zero
Saya ingin Vim melompat ke baris bermasalah dari file itu (baris 3 dalam kasus ini). Saya tahu Vim dapat melakukan ini karena berfungsi dengan baik untuk menangkap kesalahan pada waktu kompilasi di C dengan gcc
menggunakan :make
dan quickfix
jendela.
Tentu, saya dapat mengisi jendela perbaikan cepat Vim dengan :set makeprg=python3\ %
dan kemudian :make
, tetapi tidak melompat ke nomor baris tempat traceback menunjuk. Ketika saya melihatnya :copen
hanya menyoroti baris pertama jejak, dan saya tidak bisa melompat ke nomor baris yang relevan.
(Saya menggunakan Vim 7.4 di Debian jessie
jika itu penting.)
Pertanyaan saya adalah:
Bisakah saya mengonfigurasi Vim sehingga ia tahu cara mendapatkan nomor baris yang relevan dari traceback Python?
Bisakah saya memodifikasi juru bahasa Python untuk memuntahkan format kesalahan yang Vim sudah tahu bagaimana mem-parsing dan mendapatkan nomor baris yang relevan?
errorformat
dan tulis plugin kompiler untuk Vim (lihat:help :compiler
dan:help write-compiler-plugin
). Mungkin tidak sepadan dengan usaha jika Anda tidak tahu persis apa yang Anda lakukan dan Anda tidak cukup antusias untuk menggali semuanya dari dokumen.