如何在Sublime Text中select其他所有具有多个游标的行?
在Sublime Text 2中,是否可以立即select其他(或奇数/偶数)行,并在这些行上放置多个游标?
谢谢。
- 查找: Ctrl + F
- 如果正则expression式尚未启用,请启用它们: Alt + R
- inputexpression式
.*\n.*\n
- 查找全部: Alt + Enter
- 按左箭头摆脱select,只留下游标: ←
- 您现在在每个奇数行的开头都有一个光标。 如果你想要偶数行,按下: ↓
- 根据文件的不同,文件底部可能会有一个光标丢失。 使用鼠标(该死!)滚动到底部,按住Ctrl键 ,然后单击丢失的光标所在的位置以将其添加进去。
你可以轻松做到这一点:
- select所有的行或整个文档Ctrl + A
- 添加多个select器: Ctrl + Shift + L (在Mac中:Command + Shift + L)
编辑:
- 或者用
(.*(\n|$)){2}
expression式使用伟大的Joe Daley方法
我正在寻找一种方法来select崇高的替代线。
感谢Joe Daley给出了一个非常好的答案。 虽然我意识到,如果使用正则expression式,它不会select文件的最后一行,如果在文件末尾没有新行。
我想改善这个答案,但是我现在似乎没有足够的声望评论上面的答案。
您可以在打开正则expression式的情况下使用以下searchstring,然后按Alt + Enter。 随后是一个左箭头。 这将把光标放在交替的行上(与Joe Daley解释的步骤相同)
^.*\n.*$
你可以尝试一个插件: Tools/New Plugin...
import sublime_plugin class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand): def run(self, edit): self.view.window().run_command("expand_selection", {"to": "line"}) start_region = self.view.sel()[0] self.view.window().run_command("select_all") self.view.sel().subtract(start_region)
将这个文件保存在你的Packages/User
。
然后,添加该插件的键绑定:
{ "keys": ["super+alt+l"], "command": "expand_selection_to_other_lines" }
该命令将select所有其他行。 当你有其他的行select,你可以使用Split selection into lines
命令(在Mac上Ctrl + Shift + L , Cmd + Shift + L )。
如果你想在一个单一的快捷方式中拥有everythnig,你可以像这样修改插件:
import sublime_plugin class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand): def run(self, edit): self.view.window().run_command("expand_selection", {"to": "line"}) start_region = self.view.sel()[0] self.view.window().run_command("select_all") self.view.sel().subtract(start_region) self.view.window().run_command("split_selection_into_lines") self.view.window().run_command("move", {"by": "characters", "forward": False})
最后一行只是删除select,在所选行的开始处留下多个游标。