2012-05-10 2 views
2

저는 파이썬 2.7에서 스크립팅하는 vim 7.3을 사용하고 있습니다. 일부 구문 강조 표시가 있지만 번호, 문자열, 설명 및 몇 가지 핵심 기능과 키워드에 주로 사용됩니다. 나는 핵심 정력 python.vim 구문 파일을 시도하고있다 the one from vim.org파이썬 변수 및 함수에 대한 vim 구문 강조 표시?

변수함수 이름에 대한 강조 (별도의 색상)을 얻을 수있는 방법이 있습니까?

답변

6

실제로 파이썬에서 변수와 함수 사이에는 차이점이 없습니다 (둘 다 파이썬에서 1 급 개체입니다). 실제로 코드를 실행하고 callable(var)이 true인지 테스트하지 않으면 거의 불가능합니다.

그리고 그러한 행동이 혼동 될 경우 항상있다 :

class Dummy(object): 
    pass 
foo = Dummy() 
if False: 
    foo() 
foo.__call__ = lambda self: 'meow' 
foo.x = 'y' 
foo() 

때 이제 함수로 foo을 강조 것이라고는? __call__ 지정이 끝날 때까지는 호출 할 수 없지만 동일한 객체에 대해 다른 구문 강조 표시를 사용하면 매우 혼란 스럽습니다. 물론이 예제는 다소 어리 석다. 하지만 파이썬에서 원하는 것을 실제로 할 수없는 이유를 쉽게 보여줍니다. 상속과 메타 클래스를 사용하면 더욱 복잡해질 수 있습니다.

+0

+1. 글쎄,하지만 구문 강조 표시의 주된 이유는 코드에서 더 나은 방향입니다. naught101은 정의에서 함수 이름을 강조하고 함수가 호출 될 때 (즉 괄호가 뒤따를 때)를 원할 수 있습니다. 문제는 바람에 대해 오줌을 싸는 것이 좋습니다. *) – pepr

+0

황금빛 샤워를 좋아하는 변태인이라면 예! ;) – ThiefMaster

+0

찍은 포인트. 좋은 질문입니다. 잘못된 질문이 허락하는 한. 그렇다면 함수와 변수를 같은 색상으로 강조할만한 가치가 있는지, 아니면 모든 것이 강조 표시되는지 궁금합니다. – naught101

관련 문제