2009-06-30 5 views

답변

4

파이썬에서 유용한 한 줄짜리 필터를 만드는 것은 어렵습니다. sys을 가져와 stdin으로 가져와야하고 이미 푸시하기 시작했습니다. 이것은 파이썬에 대해 나쁜 말을하는 것이 아닙니다. 필자가 생각하기에 파이썬은 멀티 라인 스크립트에 최적화되어 있지만, 한 줄짜리 언어 (awk, sed, bash, 다른 언어의 이름을 붙일 수는 있었지만 아마 불타 버릴 수있는 언어)는 잘 작동하지 않는다 (IMHO) 어떤 중요한 복잡성의 스크립트를 작성할 때.

저는 Vim에서 호출 할 수있는 다중 행 스크립트를 작성하기 위해 파이썬을 정말 좋아합니다. 예를 들어,이 같은 자바 생성자에 대한 서명을 주어진 것 하나 파이썬 스크립트를 가지고 :

:

Foo(String name, int size) { 

는 값 클래스를 생성에 들어가는 보일러를 많이 방출합니다

private final String name; 
private final int size; 

public String getName() { 
    return name; 
} 

public int getSize() { 
    return size; 
} 

@Override 
public boolean equals(Object that) { 
    return this == that 
     || (that instanceof Foo && equals((Foo) that)); 
} 

public boolean equals(Foo that) { 
    return Objects.equal(getName(), that.getName()) 
     && this.getSize() == that.getSize(); 
} 

@Override 
public int hashCode() { 
    return Objects.hashCode(
     getName(), 
     getSize()); 
} 

Foo(String name, int size) { 
    this.name = Preconditions.checkNotNull(name); 
    this.size = size; 

저는 Vim에서 서명을 강조 표시 한 다음 !jhelper.py을 입력하여 이것을 사용합니다.

필자는 파이썬 스크립트를 사용하여 줄을 뒤집고 파일의 줄을 뒤집어서 revtac을 발견했습니다.

4

파이썬은 vim "매크로"(매크로는 +python로 컴파일해야하지만 많은 사전 빌드 된 매크로가 그런 식으로 제공되어야 함)를 코딩하는 데 사용할 때 vim과 함께 가장 유용합니다. Here은 많은 예제와 스 니펫으로 수행 할 수있는 작업에 대한 멋진 프레젠테이션입니다. here은이 기능에 대한 vim의 자체 참조 문서입니다.

+0

@ 감사합니다. --- MJD는 http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.html에서 Lisp 만 소스 코드 생성을 잘 수행 할 수 있다고 말합니다. --- @Alex : Vim이나 Lisp에서 Vim과 함께 사용하는 것이 더 유용한 Python은 어느 것입니까? –