我如何选择每一个其他行与多个光标在崇高的文本?

在崇高文本2中,是否有可能立即选择其他每一行(或奇数/偶数行)并在这些行上放置多个光标?

谢谢。

82873 次浏览

你可以很容易地做到:

  • 选择所有行,或者选择整个文档 Ctrl + A
  • 添加多个选择器: Ctrl + 换挡 + L(在 Mac 中: Command + Shift + L)

编辑:

您可以尝试使用一个插件: 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" }

此命令将选择所有其他行。当选择了其他行时,可以使用 Split selection into lines命令(Mac 上的 Ctrl + 换挡 + LCMD + 换挡 + L)。

如果你想把所有东西都放在一个快捷方式里,你可以这样修改插件:

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})

最后一行只是删除选定内容,在选定行的开头留下多个游标。

  1. 查找: Ctrl + F
  2. 如果正则表达式尚未启用,则启用它们: Alt + R
  3. 输入表达式 .*\n.*\n
  4. 查找所有: Alt + 进来
  5. 按下左箭头可以去掉所选内容,只留下光标:
  6. 现在在每个奇数行的开头都有一个光标。如果想要偶数行,请按下: 名片
  7. 根据文件的不同,在文件的底部可能缺少一个光标。用鼠标(该死!)滚动到底部,按住 Ctrl,然后点击缺少的光标应该在哪里添加它。

我一直在寻找一种方法,在崇高中选择替代行。

感谢 Joe Daley 给了我一个很好的答案。 尽管我意识到,如果使用 regex,如果文件末尾没有新行,它就不会选择文件中的最后一行。

我想改进这个答案,但是我现在似乎没有足够的名声来评论上面的答案。

可以在打开正则表达式的情况下使用下面的搜索字符串,然后按 alt + enter。然后是左箭头。这将把每个光标放在交替行上(与 Joe Daley 解释的步骤相同)

^.*\n.*$