Ответ 1
Попробуйте
pos = self.view.sel()[0].begin()
Это получает начальную точку текущего выбора (если ничего не выбрано, начало и конец выбора - текущая позиция курсора).
Если вы хотите, чтобы это работало с несколькими выделениями, вам нужно повторить все выборки, возвращенные self.view.sel()
:
for pos in self.view.sel():
self.view.insert(edit, pos.begin(), timestamp)