런타임 오류가있는 파이썬 스크립트가 있다고 가정 해보십시오.
$ 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 인터프리터를 수정할 수 있습니까?
errorformat
Vim 용 컴파일러 플러그인을 작성하십시오 (:help :compiler
및 참조:help write-compiler-plugin
). 당신이하고있는 일을 정확히 알지 못하고 문서에서 모든 것을 파낼만큼 열성적 이지 않으면 노력할 가치 가 없습니다.