我如何获得当前的插入位置?

kas*_*rhj 12 sublimetext2

我写了一个简单的ST2插件,只需在当前的插入位置插入一个时间戳.但是,我无法找到如何获得当前位置.

我有

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

应该pos是什么?

Ric*_*tti 22

试试吧

pos = self.view.sel()[0].begin()
Run Code Online (Sandbox Code Playgroud)

这将获得当前选择的起始点(如果未选择任何内容,则选择的开始和结束是当前光标位置).

如果您希望这可以使用多个选择,则必须迭代返回的所有选择self.view.sel():

for pos in self.view.sel():
    self.view.insert(edit, pos.begin(), timestamp)
Run Code Online (Sandbox Code Playgroud)