【问题标题】:How to avoid multi cursor on wrapped lines in VS Code?如何避免 VS Code 中换行上的多光标?
【发布时间】:2019-04-16 09:43:30
【问题描述】:

问题:

我在 VSCode 中打开了 wordWrap,这样如果我调整窗口大小,就会换行。

如果我想注释掉一些代码或文本,我通常只是将光标移动到代码块第一行的开头,使用 ctrl+shift+down 来添加光标,然后键入 // 或 #等等。

wordWrap 的问题在于,我不仅在每行的开头获取光标,而且在编辑器中显示的每一行的开头。

假设文档: 1 This is the first line. 2 Second line.

它可能被包装如下: 1 This is the first line. 2 Second line.

所以如果我使用上面的方法并添加 % 我会得到: 1 %This is the first %line. 2 %Second line.

但我想要的是以下内容: 1 %This is the first line. 2 %Second line.

否则,我在行中间有一个 %,只是因为我调整了编辑器窗口的大小...

目前,我其实是关闭了 wordWrap 来实现的,但希望有更好的方法吗?

请注意:

对于添加 cmets,实际上使用 ctrl + /shift + alt + 更简单一个。 但也许这个问题对于其他情况仍然很有趣。

【问题讨论】:

    标签: visual-studio-code vscode-settings


    【解决方案1】:

    按照以下步骤操作:

    1. Alt+Shift+i 将光标放在每个选定的行上
    2. Cmd/Ctrl+ 将所有光标移动到 [wrapped] 行的开头
    3. Cmd/Ctrl+(再次)将所有光标移动到 [wrapped] 行的实际开头

    享受吧! ?

    【讨论】:

    • 谢谢。非常接近我想要的;)我猜左箭头键是 home 键或 Pos1 键。然后它可以工作,但没有 ctrl,否则光标会跳转到文档的开头。唯一的问题是如果一个光标已经在一行的开头,而其他光标在一行的中间。然后反复按 home 键使光标在该行的第一个字母和该行的实际第一列之间跳转,并且由于光标从不同的位置开始,有些在第一个字符,有些在第 1 列。仅当行缩进。
    • 不, 键不是 Home 键。 Here you have an image ?
    • ok :) 但这只是一个单词而不是一个字符的正常跳转?
    • 对不起,我的错?。在 MacOS 中,Cmd+ 的行为将光标移动到当前行的开头,而不是跳过一个单词。你是对的,在 Windows/Linux 中它会是 Ctrl+home 以便跳转到行首
    • 您在第一条评论中提出的关于跳转到实际第一列而不是文本开头的问题,这就是我建议执行两次Cmd+ 快捷方式的原因。我不知道在 Windows/Linux 中输入两次 Ctrl+home 是否相同。您能否向我确认以编辑我的回复并让它被接受? ?
    【解决方案2】:

    这似乎是known issue。 Martin Zimmermann 的 CursorColumnSelectOnTrueLines extension 提供了显示所需行为的命令,默认情况下映射到 Ctrl+Alt+Shift+Up/Down。

    【讨论】:

      猜你喜欢
      • 2019-11-13
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      • 2019-06-03
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多