런타임 오류가있는 파이썬 스크립트가 있다고 가정 해보십시오.
$ 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
Vim이 해당 파일의 문제가있는 줄 (이 경우 줄 3)로 이동하기를 원합니다. Vim이 C를 gcc사용하여 컴파일 시간에 오류를 포착 :make하고 quickfix창 을 사용 하면 잘 작동하기 때문에 Vim 이이 작업을 수행 할 수 있다는 것을 알고 있습니다 .
물론 Vim의 quickfix 창을 :set makeprg=python3\ %and로 채울 수는 :make있지만 트레이스 백이 가리키는 줄 번호로 이동하지는 않습니다. 살펴보면 :copen트레이스의 첫 번째 줄만 강조 표시되고 관련 줄 번호로 이동할 수 없습니다.
(필자는 데비안 jessie에서 Vim 7.4를 사용 하고 있습니다.)
내 질문은 :
파이썬 트레이스 백에서 관련 줄 번호를 얻는 방법을 알도록 Vim을 구성 할 수 있습니까?
Vim이 관련 행 번호를 구문 분석하고 얻는 방법을 이미 알고있는 오류 형식을 추출하도록 Python 인터프리터를 수정할 수 있습니까?


errorformatVim 용 컴파일러 플러그인을 작성하십시오 (:help :compiler및 참조:help write-compiler-plugin). 당신이하고있는 일을 정확히 알지 못하고 문서에서 모든 것을 파낼만큼 열성적 이지 않으면 노력할 가치 가 없습니다.