【问题标题】:Pasting data in multiple cursor mode以多光标模式粘贴数据
【发布时间】:2018-03-02 16:49:05
【问题描述】:

在 vs 代码中我有以下文件

1
2
3

a
b
c

现在我执行以下步骤

  1. 剪切 a b c 行。
  2. 选择第 1、2、3 行,然后进入多光标模式(shift、alt I)。
  3. 到每个数字的末尾按并输入 a ,然后粘贴。

结果是

1, a
b
c
2, a
b
c
3, a
b
c

但我想要的结果是

1, a
2, b
3, c

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    也请查看 Mark 的好答案。他提到也应该考虑对 VS Code 进行一些更新。

    使用Shift+Alt+I,您还需要在多光标模式下剪切文本:

    1回车2回车3回车输入a输入b输入c

    Shift+

    Shift+Alt+I

    Shift+

    Ctrl+X

    , 

    Ctrl+V

    1.23.1 April update 开始,可以使用更方便的鼠标中键选择。

    使用光标和键盘, 在多光标模式下按住 Ctrl+Shift 的同时,不要像往常一样剪切线条,而是从光标的末尾选择到开头。使用 Ctrl+X 剪切文本后,按住 Ctrl+Shift 再次使用多个光标进行选择。然后,键入 ,  并按照您的描述使用 Ctrl+V 进行粘贴。

    您也可以使用 Ctrl+Alt+Shift 和方向箭头来选择多个光标,

    【讨论】:

      【解决方案2】:

      不久前显然添加了此功能。您可以简单地剪切到剪贴板,然后粘贴到多个光标 - 如果剪贴板上的行数与多个光标相同 - 每个光标将从剪贴板中获取一行。

      您不再需要在多光标模式下进行剪切,或者将文本放到剪贴板上。 剪掉就好了。

      演示:

      不幸的是,gif在选择1,2,3,后截断了完整的命令。然后,您要做的是在所选内容的每一行末尾放置一个光标。命令:Add Cursors to Line Ends Shift+Alt+I

      VSCode 1.39 添加了这个设置:

      编辑器:多光标粘贴

      当粘贴文本的行数与 光标计数。

      "editor.multiCursorPaste": "spread"

      它会做你想做的。

      还有第二个选项full,每个光标都将获取整个剪贴板文本。见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_39.md#new-option-for-multi-cursor-pastingfull 选项的演示:

      来自multi-cursor paste release notes

      多光标粘贴的新选项

      过去,当从剪贴板粘贴多行文本时,VS Code 将检查剪贴板文本行数是否与光标数匹配, 如果是这样,它会将每一行“分发”/“传播”到游标。 此行为现​​在可以通过 editor.multiCursorPaste 设置进行调整, 可以有以下值:

      spread - Each cursor pastes a line of text (default).
      
      full - Each cursor pastes the full clipboard text.
      

      【讨论】:

      • 谢谢!知道如何临时切换到其他粘贴类型吗?
      • 在gif动画中,高亮“1 2 3”后键盘命令为[Shift]+[Ctrl]+[l],后接[,],后接[Ctrl]+[v ]
      • @Adrian 我编辑了答案,因为我看到 gif 没有捕捉到最后一次击键。它是Shift+Alt+I。将光标添加到所选内容的行尾。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多