在 Sublime Text(使用 Sublime Text 3)中,您可以按 Esc 键退出多选/多插入符号模式。执行此操作后,将仅保留第一个选择/插入符号。
有没有办法让最后的选择/插入符号是否会保留?
我经常发现自己按下退出键然后需要将光标移动到最后的选择处。
用例:
我使用多项选择输入此内容:
int foo(
int x,
int x,
int x,
int x,
)
我想删除最后一个逗号以获得:
int foo(
int x,
int x,
int x,
int x
)
我想按下 Esc 键并让插入符号位于最后一个之后int x,
。
答案1
我认为这不是 Sublime Text 中的默认命令。但是,您可以轻松地自行创建此行为。只需按下Tools >> New Plugin...
并粘贴以下内容:
import sublime_plugin
class SingleLastSelectionCommand(sublime_plugin.TextCommand):
def run(self, edit):
view = self.view
if len(view.sel()):
last = view.sel()[-1]
view.sel().clear()
view.sel().add(last)
然后创建一个键绑定:
{ "keys": ["escape"], "command": "single_last_selection", "context":
[
{ "key": "num_selections", "operator": "not_equal", "operand": 1 }
]
},
可能需要从默认键映射中复制所有退出键绑定以保持操作优先级(在删除多个光标之前隐藏自动完成功能等等)。