内置的移动命令允许您以多种方式移动,但一次只能移动一次(例如,上一行、左一字、下一页等)。
正如 Ben 在他的回答中提到的,解决此问题的一种方法是创建宏来进行您想要的动作,绑定键以运行宏,然后您就可以开始了。
另一种选择是使用一个简单的插件,例如以下(最初来自this forum post),您可以通过从菜单中选择Tools > Developer > New Plugin...,用此代码替换存根代码,然后保存为默认值来使用它位置类似于move_amount.py:
import sublime
import sublime_plugin
class MoveAmountCommand(sublime_plugin.TextCommand):
def run(self, edit, amount=1, **kwargs):
for _ in range(amount):
self.view.run_command("move", args=kwargs)
这将创建一个名为 move_amount 的命令,该命令包装了内部 move 命令,并提供了一个额外的参数 amount 来指示执行移动操作的次数。如果您要制作一些这样的绑定,这会很方便,因为它减少了您必须制作的宏的数量并且更容易自定义它们。
有了它,您可以使用以下键绑定,根据需要修改数量:
{
"keys": ["ctrl+up"], "command": "move_amount",
"args": {"by": "lines", "amount": 5, "forward": false}
},
{
"keys": ["ctrl+down"], "command": "move_amount",
"args": {"by": "lines", "amount": 5, "forward": true}
},
请注意,这些键已绑定到 scroll_lines 命令,该命令会滚动视口但不保留插入符号,因此如果您也使用该功能,您可能需要选择不同的绑定。