2009-06-30 10 views

答えて

4

Pythonで便利な1行のフィルタを作るのは難しいです。 sysをインポートしてstdinにする必要があります。既にそれをプッシュし始めています。これはPythonについては何も悪いことではありません。私の気持ちは、Pythonが複数行のスクリプトに最適化されている一方で、one-liners(awk、sed、bash、他に名前を付けることはできますが、重要な複雑さのスクリプトを書くとき

私は、Vimから呼び出せる複数行のスクリプトを書くのにPythonが本当に好きです。例えば、私はこのように、Javaのコンストラクタのための署名を与えられます1つのPythonスクリプトを持っている:

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について知る前に、行の文字を逆にしてファイルの行を逆にするために書いたPythonスクリプトを使用しました。

4

Pythonは、vimの "マクロ"のコード化に使用すると最も便利です(vimを+pythonでコンパイルする必要がありますが、あらかじめ構築されたものが多くあります)。 Hereは、あなたができることのいくつか(たくさんの例とスニペット)について素敵なプレゼンテーションです。hereはこの機能に関するvim独自のリファレンスドキュメントです。

+0

@リンクありがとうございます! --- MJDは、Lispだけがhttp://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.htmlでソースコード生成をうまくやっていると言います。 --- @Alex:VimでLispやPythonを使うと便利なのはどれですか? –

関連する問題