Sublimetext3 多个游标的升华文本键绑定

Sublimetext3 多个游标的升华文本键绑定,sublimetext3,Sublimetext3,我已经为我的sublime创建了一个简单的.py插件,它只输出一个带有前缀的时间戳,我想将它插入到我的每个多光标位置 插件: import datetime import sublime, sublime_plugin class TimestampcondencedCommand(sublime_plugin.TextCommand): def run(self, edit): val = "%s" % (datetime.datetime.now().strftime("am_

我已经为我的sublime创建了一个简单的.py插件,它只输出一个带有前缀的时间戳,我想将它插入到我的每个多光标位置

插件:

import datetime
import sublime, sublime_plugin

class TimestampcondencedCommand(sublime_plugin.TextCommand):
  def run(self, edit):
    val = "%s" % (datetime.datetime.now().strftime("am_func_%Y%m%d%H%M%S"))
    self.view.insert(edit, self.view.sel()[0].begin(), val)
和密钥绑定:

{ "keys": ["ctrl+shift+z"], "command": "timestampcondenced"}

它可以工作,但当我按下ctrl+shift+z时,只有第一个光标受到影响,这很可惜。
我想为我的所有游标使用它,如何解决这个问题?

原因是
view.sel()
返回所有选择的列表,但您的代码只显式使用第一个选择(
view.sel()[0]
中的
[0]

要在所有光标位置插入,只需在所有选择上循环:

导入日期时间
导入升华,升华插件
类TimestampcondencedCommand(升华插件.TextCommand):
def运行(自我,编辑):
val=“%s”%(datetime.datetime.now().strftime(“am_func_%Y%m%d%H%m%s”))
对于self.view.sel()中的sel:
self.view.insert(编辑,sel.begin(),val)

或仅
查看。运行_命令('insert',{'characters':val})
,该命令将自动在所有文本插入符号位置插入指定字符