2012-10-10 19 views
11

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

私は

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

posどうあるべきか?

答えて

21

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

これは、現在の選択範囲の開始点を取得して試してみてください(スタートと選択の最後、何も選択されていない場合は、現在のカーソル位置です)。

あなたは、これは複数選択で作業する場合は、self.view.sel()によって返されるすべての選択に反復処理する必要があります。

for pos in self.view.sel(): 
    self.view.insert(edit, pos.begin(), timestamp) 
+0

それは動作します。驚くばかり! – kasperhj

関連する問題