如何在Sublime Text中select其他所有具有多个游标的行?

在Sublime Text 2中,是否可以立即select其他(或奇数/偶数)行,并在这些行上放置多个游标?

谢谢。

  1. 查找: Ctrl + F
  2. 如果正则expression式尚未启用,请启用它们: Alt + R
  3. inputexpression式.*\n.*\n
  4. 查找全部: Alt + Enter
  5. 按左箭头摆脱select,只留下游标:
  6. 您现在在每个奇数行的开头都有一个光标。 如果你想要偶数行,按下:
  7. 根据文件的不同,文件底部可能会有一个光标丢失。 使用鼠标(该死!)滚动到底部,按住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 + LCmd + 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,在所选行的开始处留下多个游标。