【问题标题】:Can I Find/Search in Sublime Text with multiple cursor / multiple selection?我可以使用多个光标/多项选择在 Sublime Text 中查找/搜索吗?
【发布时间】:2015-09-14 19:37:09
【问题描述】:

当您在 Sublime Text 中有多个选择/光标时,有什么方法可以进行“查找下一个”或“增量搜索”?例如,假设我正在尝试编辑以下几行:

$array[] = array('id' => 1, 'label' => 'Lorem ipsum dolor sit amet'); //test test test
$array[] = array('id' => 2, 'label' => 'Lorem ipsum dolor sit'); //test test
$array[] = array('id' => 3, 'label' => 'Lorem ipsum dolor'); //test

如果我需要更新所有 3 行,我可以使用箭头和选项箭头轻松移动以逐字逐句...但是当我到达“标签”时,我想推进所有我的多个光标到字符串的末尾......但由于每个字符串的长度不同,我无法这样做。如果我能够做类似“在所有选择中找到下一个出现的“,);”之类的事情,那么这将非常容易。但我似乎找不到在多个游标上执行此类操作的方法。这可能吗?

【问题讨论】:

    标签: sublimetext3 sublimetext


    【解决方案1】:

    您可以使用多个光标和“将选择扩展到范围”命令来执行此操作。

    首先将光标放在每个标签上,通过 Cmd/Ctrl+单击或单击第一个标签并从菜单中选择 Selection > Add Next Line。重复尽可能多的标签。

    然后,从菜单中选择Selection > Expand Selection to Scope。这会将每个光标的选择范围扩展到标签的开头到结尾。这也会选择引号,因此请确保在键入新字符串时重新引用该字符串。

    注意:这仅适用于定义带引号的字符串的语法。不确定您的示例是哪种语言,但此方法适用于 C++ 和 C#,但不适用于纯文本。纯文本将选择扩展到括号​​。

    【讨论】:

    • 感谢有用的提示,尤其是关于语言语法如何定义“范围”的解释。我的例子是 php,但我也经常需要其他语言的这种技术。它在所有情况下并不完全完美,但有时确实有效(总比没有好)。我觉得奇怪的是,对于 Sublime 的所有灵活性,有一些与搜索相关的东西不能与宏或多项选择很好地交互。
    【解决方案2】:

    在这种情况下,我按 END 键转到行尾,然后返回箭头。

    或按住 shift 并按 end 键选择到行尾。


    在 cmets 中描述的情况下,我通常会使用结合正则表达式的搜索功能来选择我想要的部分。

    因此,在您的示例中,我将简单地构造一个正则表达式,然后使用 replace for find all 来选择它们。

    (顺便说一句,很久以前有一个编辑和你一样 描述称为简要。可悲的是,编辑失去了公司 收购。)

    【讨论】:

    • 感谢您的回复,但它并没有解决我所询问的情况。仔细查看我的示例文本...看看 cmets 的长度如何不同?这就是我有时会遇到的情况,您不能只是走到行的末尾然后再返回,而是您想在每行 中转到某个“标记”或描述可能是不同的字符串或单词长度.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多