【问题标题】:Moving multiple cursors to next or previous space in VSCode将多个光标移动到 VSCode 中的下一个或上一个空间
【发布时间】:2021-05-20 14:36:24
【问题描述】:

有没有办法将多个光标移动到 VScode 中的下一个/上一个空格(或可能的其他字符)?

我经常想将 VSCode 中的所有光标移动到下一个空间。按 Home 会将它们全部移动到行首,然后按 End 将它们全部移动到末尾。 Ctrl+Left 和 Ctrl+Right 前后移动我经常想将它们全部移动到的单词下一个空格所以

aaa-bbb-ccc ddd-eee-fff
ggg-hhh iii-jjj
kkk-lll-mmm-ooo ppp-qqq-rrr-sss ttt

如果我的光标位于每一行的开头,我怎样才能让它们位于每一行的第一个空格?下一个单词不起作用,因为它会停在破折号处。

搜索并按 Ctrl+Shift+L 有时可以覆盖它,但并非总是如此,而且它很乏味(选择区域,Ctrl+F,尝试输入一些只选择你想要的东西的正则表达式),如上所示,搜索空格会失败。你可以想出一个匹配的正则表达式,但这只会增加乏味。

有没有办法将所有光标向前或向后移动到某个特定字符?

常见的需要是,下一个空格,下一个逗号,下一个打开或关闭括号,大括号,方括号,尖括号,下一个引号,下一个双引号等......理想情况下我会很高兴这样做或没有选择。换句话说,我可能想移到行首,然后选择每行的第一个空格。或者,一旦我设法将光标移到第一个空格,我可能想从那里选择第一个打开的括号。

【问题讨论】:

  • 您希望它只在当前每一行中运行吗?并且只输入一个字符——比如空格,但不移动到下一个多字符文本字符串,比如abc?

标签: visual-studio-code


【解决方案1】:

您可以使用扩展名Select By 并使用moveby.regex 命令

{
    "key": "ctrl+f6",  // or any other key combo
    "when": "editorTextFocus",
    "command": "moveby.regex",
    "args": {
      "regex": " ",
      "properties": ["next", "end"]
    }
  }

如果你想让光标在空格前使用:"properties": ["next", "start"]

对于之前的空间使用:"properties": ["prev", "start"]

【讨论】:

    【解决方案2】:

    我正在开发一个简化的扩展程序,它允许您使用/不使用键绑定和您想去的角色进行选择。它只需要一个字符并且不使用正则表达式,因此它不如@rioV8 的扩展那么强大。

    但它只需要一个键绑定就可以前进并选择任何字符,例如。在这个演示中,我在两组选择中触发了相同的键绑定(我使用了 Alt+D,但它可以是任何东西) - 第一次按下 键绑定后的空格,第二次按C。您看不到这些按键,因为它们被扩展程序捕获并且不显示。

    扩展链接:Jump and Select

    扩展命令

    • jump-and-select.jumpForwardOnly   -   移动到下一个出现的字符。 Alt+f

    • jump-and-select.jumpForwardSelect   -   从光标处选择到下一个出现的字符。 Shift+Alt+f

    • jump-and-select.jumpBackwardOnly   -   移动到上一个出现的字符。 Alt+b

    • jump-and-select.jumpBackwardSelect   -   从光标处选择到上一个出现的字符。 Shift+b

    工作原理

    选择一个键绑定,说 Alt+f 向前跳转。

    1. 触发该命令:Alt+f,
    2. 输入一个字符(不会显示),然后
    3. 光标移至下一个字符。

    你可以轻松地跳过这样的字符(从" 到":

    它被称为MultiMode。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多