12

現在のキャレット位置にタイムスタンプを挿入するだけの簡単なST2プラグインを作成しました。しかし、現在の位置を取得する方法を見つけることができません。

私は持っています

def run(self, edit):
    timestamp = "%s" % (datetime.datetime.now().strftime("%Y-%m-%d %H:%M"))
    pos = ???
    self.view.insert(edit, pos, timestamp)

どうあるべきposですか?

4

1 に答える 1

23

試してみてください

pos = self.view.sel()[0].begin()

これは、現在の選択の開始点を取得します (何も選択されていない場合、選択の開始点と終了点が現在のカーソル位置になります)。

これを複数選択で機能させたい場合は、によって返されるすべての選択を反復する必要がありますself.view.sel()

for pos in self.view.sel():
    self.view.insert(edit, pos.begin(), timestamp)
于 2012-10-10T08:31:02.750 に答える