【问题标题】:Sublime Text: Pressing Esc from multiple selections -- put cursor at last selection?Sublime Text:从多个选择中按 Esc - 将光标放在最后一个选择处?
【发布时间】:2016-06-19 06:18:08
【问题描述】:

使用 Sublime Text,在使用 CMD+D 进行多选后,我通常会更改文本,然后想要转义选择并将光标放在最后一次选择的位置。。 p>

一些接近的功能:

  • CMD+U 将重新选择选项
  • CMD+G 将跳到下一个事件
  • CMD+Shift+G 将向后跳到上一次出现

是否有任何键盘快捷键可以执行我想要的操作,类似于 Esc 但向前而不是向后?

【问题讨论】:

    标签: sublimetext2 sublimetext3 sublimetext


    【解决方案1】:

    您可以创建一个非常简单的插件来执行此操作,然后将密钥绑定到它:

    1. Tools 菜单中,选择Developer -> New Plugin...
    2. 粘贴以下内容:

      import sublime, sublime_plugin
      
      class SingleSelectionLastCommand(sublime_plugin.TextCommand):
          def run(self, edit):
              last = self.view.sel()[-1]
              self.view.sel().clear()
              self.view.sel().add(last)
              self.view.show(last)
      
    3. 将其保存在它推荐的文件夹中,将文件命名为single_selection_keep_last_cursor.py

    4. 打开Preferences -> Key Bindings - User
    5. 键入/粘贴类似于以下内容的内容:

      { "keys": ["escape"], "command": "single_selection_last", "context":
          [
              { "key": "num_selections", "operator": "not_equal", "operand": 1 }
          ]
      }
      
    6. 保存

    此示例使用名为single_selection_last 的命令创建一个新插件,然后在有多个选择时将 Esc 键绑定到它。因此,这会覆盖保留第一个选择的默认 Esc 行为。

    键绑定文件必须是有效的 JSON 数组,因此如果它为空,则需要将上面的示例括在方括号 [...] 中才能正常工作。

    如果您想使用不同的键,只需将escape 替换为您想要的组合键。有关示例,请参见 Preferences -> Key Bindings - Default

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    相关资源
    最近更新 更多