Sublime:如何用键盘箭头跳转n行?

时间:2017-09-22 16:54:59

标签: text editor sublimetext3 text-editor

当我必须逐行使用箭头来修改文本文件时,我感到非常乏味,但我觉得PageDown / PageUp让我失去了我的位置。

有没有一种方法可以简单地使用简单的快捷方式(如ctrl +向下/向上箭头)跳转n行?我认为5行很适合我。

2 个答案:

答案 0 :(得分:3)

内置移动命令允许您以各种方式移动,但一次只能移动一次(例如,一行,一个单词,一页向下等)。

正如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命令,该命令滚动视口但单独留下插入符号,因此如果您也使用该功能,则可能需要选择不同的绑定。

答案 1 :(得分:1)

据我所知,没有一个实际的键盘快捷键可以让你将移动线命令与移动量相结合。

相反,你可以记录&保存两个不同的宏。一个向上移动5行,另一个向下移动5行 - (开始录制宏,然后按向上或向下箭头x次。停止录制,然后保存。)。

然后你可以创建一个绑定来从你的首选项文件中调用它们:

[
    { "keys": ["shift+alt+up"], "command": "run_macro_file", "args": {"file": "res://Packages/User/up-five-lines.sublime-macro"} },
    { "keys": ["shift+alt+down"], "command": "run_macro_file", "args": {"file": "res://Packages/User/down-five-lines.sublime-macro"} }

]