【问题标题】: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】:
您可以创建一个非常简单的插件来执行此操作,然后将密钥绑定到它:
- 从
Tools 菜单中,选择Developer -> New Plugin...
-
粘贴以下内容:
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)
将其保存在它推荐的文件夹中,将文件命名为single_selection_keep_last_cursor.py
- 打开
Preferences -> Key Bindings - User
-
键入/粘贴类似于以下内容的内容:
{ "keys": ["escape"], "command": "single_selection_last", "context":
[
{ "key": "num_selections", "operator": "not_equal", "operand": 1 }
]
}
保存
此示例使用名为single_selection_last 的命令创建一个新插件,然后在有多个选择时将 Esc 键绑定到它。因此,这会覆盖保留第一个选择的默认 Esc 行为。
键绑定文件必须是有效的 JSON 数组,因此如果它为空,则需要将上面的示例括在方括号 [...] 中才能正常工作。
如果您想使用不同的键,只需将escape 替换为您想要的组合键。有关示例,请参见 Preferences -> Key Bindings - Default。