2012-10-10 15 views
11

Ho scritto un semplice plugin ST2 che dovrebbe semplicemente inserire un timestamp nella posizione attuale del cursore. Tuttavia, non sono in grado di scoprire come ottenere la posizione corrente.Come ottengo la posizione attuale del punto di inserimento?

ho

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

avvertenze pos essere?

risposta

21

Prova con

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

Questo diventa il punto iniziale della selezione corrente (se non è selezionato, inizio e fine della selezione sono la posizione corrente del cursore).

Se si desidera che questo lavorare con selezione multipla, si deve iterare su tutte le selezioni restituiti da self.view.sel():

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

Funziona. Eccezionale! – kasperhj

Problemi correlati