使用 Sublime Text,在使用 CMD+D 进行多项选择后,我通常会更改文本,然后想要 转义选择并将光标放在最后一个选择的位置。
一些接近的功能:
CMD+U
将重新选择选择CMD+G
将跳至下一个事件CMD+Shift+G
将向后跳至上一个事件是否有任何键盘快捷键可以执行我想要的操作,类似于 Esc 但向前,而不是向后?
您可以创建一个非常简单的插件来执行此操作,然后为其绑定一个密钥:
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
。
一直在寻找这个很长一段时间,终于想到了一种替代方法,不需要任何额外的东西,但需要一些习惯。
“Goto -> Jump Back”菜单项具有命令“jump_back”的默认键绑定,非常方便。接下来需要执行“查找 -> 查找上一个”,它具有您已经提到的命令“find_prev”的默认键绑定。
所以在 macOS 上,它会是
ctrl + minus
,然后是 super + shift + g
,我们可以为此开发肌肉记忆。