2012-04-02 4 views
3

Python Omni Completion을 자신의 클래스 함수에 사용하려고하면 예기치 않은 결과가 나타납니다. 나는 결과를 얻을 표준 파이썬 라이브러리 모듈을 수입하고 때vim 파이썬 docstring with vim pythoncomplete이 (가) 내 클래스 함수에 대한 줄 바꿈을 표시하지 않습니다.

Unexpected result

내가 기대 :

아래 그림과 같이 함수의 문서화 문자열은 줄 바꿈이 제대로 포맷되지 않아요

Expected result

파이썬 docstring conventions에 따르면 소스 파일의 개행 문자는 개행 문자로 해석되어야합니다. 아무도 여기서 무슨 일이 벌어지고 있는지, 문제를 해결하는 방법을 알고 있습니까?

답변

3

편집 : https://github.com/davidhalter/jedi-vim


정력의 Python Omni Completion 꽤 바보 : 내가해야이 pythoncomplete보다 훨씬 더 인 자동 완성을 썼다. 현재 파일을 구문 분석하는 간단한 스크립트이고 다른 모든 파일은 imports입니다. 이것은 매우 위험하므로 끝내면 안됩니다. 그러나 그것은 그렇게 나쁘지는 않습니다 (그러나 전혀 좋지 않습니다).

두 시나리오의 차이점은 표준 라이브러리를 가져 오는 것입니다. 따라서 파일은 있지만 현재 파일은 아닙니다. 두 번째 모듈은 test2 이름 및 사용을 사용하는 경우 :

import test 
test.mydoc.prettyStr 

이 작동합니다.

현재 파일을 파싱 중입니다. 파서는 간단하고별로 좋지 않습니다. dostring 파서 때문에이 라인 (줄 번호 ~ 290)의 특히 이상하다 :

docstr = docstr.replace('\n', ' ') 

당신은 그것을 수정할 수 있습니다 - 다만이 파일 변경 : 다른 디렉토리에 /usr/share/vim/vim73/autoload/pythoncomplete.vim 어쩌면 그것의를.

현재 파이썬/vi에 대한 자동 완성 기능을 작성하는 중입니다. (이것이 내가 이것을 알고있는 이유이기도합니다.) 그러나 그것은 여전히 ​​꽤 중요한 작업입니다. 한 달 안에 베타 버전을 준비 할 수 있기를 바랍니다. 나는 너를 계속 게시하려고 노력한다.

+0

이렇게 많은 것들이 설명됩니다! 고맙습니다. – veiset