3

在 ST2 中,我们将选择扩展到括号​​,但如果我需要用括号扩展选择?或更一般的用括号、方括号、花括号扩展选择?

4

3 回答 3

7

选择括号: ctrl+ shift+m

选择html标签换行 :ctrl++shifta

于 2013-03-30T10:43:45.377 回答
3

Sublime Text 的Expand Selection to Brackets被设计为可以多次调用,它的工作原理如下:

  1. 如果未选择任何内容或选择不完整,则将选择第一组括号的内容
  2. 如果所选内容包含一组括号的完整内容,则扩展所选内容以包括封闭括号。
  3. 如果选择仅包含一组括号及其内容,则扩展选择以包括父项的内容包含括号。
    • 注意:父容器似乎是向后发现的。有时这会将选择切换到同级容器,然后再遍历一个级别。(见下面的结果 3 和 5)

在以下示例中,从嵌套注释中的光标开始,下面的列表描述了调用Expand Selection to Brackets所产生的选择。

for (x in y) {
    if (x in z) {
        // start selection here
    }
}
  1. if 语句花括号的内容被选中
  2. 选择 if 语句花括号
  3. 选择了 if 语句条件,包括括号
  4. 选择了 for 语句的内容,包括大括号
  5. 选择了 for 语句参数,包括括号

我找不到任何文件来验证这一点。ST2 和 ST3 之间的选择结果是一致的。

于 2013-05-31T03:29:44.367 回答
0

对于 lispers 和clojurians。这是交易。使用宏。

[
    {"command": "move_to", "args": {"to": "brackets"}},
    {"command": "move", "args": {"by": "characters", "forward": true}},
    {"command": "move_to", "args": {"to": "brackets"}},
    {"command": "move_to", "args": {"to": "brackets", "extend": true}}
]

尝试猜测函数。例如,move_to 没有方向,第一次调用将使您向前移动,但第二次调用将您向后移动。好的移动和前进:是的,但在哪里后退?再次向前: false 是向后的。糟糕的API。也扩展(为什么不选择:真?)将随着选择移动,而没有它只是移动到某个地方。

于 2012-11-10T08:59:52.070 回答