2012-10-10 47 views
11

Tôi đã viết một plugin ST2 đơn giản chỉ nên chèn dấu thời gian vào vị trí dấu nháy hiện tại. Tuy nhiên, tôi không thể tìm ra cách để có được vị trí hiện tại.Làm thế nào để tôi có được vị trí hiện tại?

Tôi đã

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

nên pos được gì?

Trả lời

21

Hãy thử với

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

này được điểm bắt đầu của vùng chọn hiện hành (nếu không có gì được chọn, bắt đầu và kết thúc của lựa chọn là vị trí con trỏ hiện hành).

Nếu bạn muốn điều này để làm việc với nhiều lựa chọn, bạn phải lặp trên tất cả các lựa chọn trả về bởi self.view.sel():

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

Nó hoạt động. Tuyệt vời! – kasperhj

Các vấn đề liên quan