Sublime文本多个游标的键绑定

时间:2017-05-21 10:23:11

标签: 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_func_%Y%m%d%H%M%S"))
    self.view.insert(edit, self.view.sel()[0].begin(), val)

密钥绑定:

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

enter image description here

它有效,但当我点击ctrl+shift+z时,只有第一个光标受到影响,这很可惜。 我想为我的所有游标拥有它,我该如何解决?

1 个答案:

答案 0 :(得分:1)

原因是[0]会返回所有选择的列表,但您的代码只显式使用第一个(view.sel()[0]中的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")) for sel in self.view.sel(): self.view.insert(edit, sel.begin(), val) )。

为了插入所有光标位置,您只需要遍历所有选择:

{{1}}