VSCode中的多行编辑

时间:2015-05-04 18:55:14

标签: visual-studio-code

是否可以像在Sublimetext中一样启用多行编辑?

EG。按 Ctrl 可以放置其他光标插入符,并且可以一次写入/删除文档中的多个位置。

33 个答案:

答案 0 :(得分:741)

在Windows上,按住或向下箭头键,按住 Ctrl + Alt 添加游标。在Mac和Linux上,等价物⌥选项 + ⌘Cmd + / Shift + Alt + /

  

请注意,第三方软件可能会干扰这些快捷方式,从而阻止它们按预期工作(尤其是Windows上的英特尔高清显卡软件;有关详细信息,请参阅注释)。

     

如果遇到此问题,可以禁用Intel /其他软件热键,或修改vscode快捷方式(如下所述)。

Esc 重置为单个光标。

Multiline cursors in Visual Studio Code

或者,as Isidor Nikolic points out,您可以按 Alt 并左键单击以任意放置游标。

Arbitrarily placed multiline cursors in Visual Studio Code

您可以通过以下方式查看和编辑键盘快捷键:

  

文件→首选项→键盘快捷键

文档:

https://code.visualstudio.com/docs/customization/keybindings

官方VSCode键盘快捷方式备忘单:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

答案 1 :(得分:90)

仅使用两个步骤解决了!

  1. Ctrl + F

  2. Alt + Enter

  3. 它等于sublime text Alt + F3

    enter image description here

答案 2 :(得分:51)

你可以 alt +点击其他游标。如前所述 Ctrl + Alt +

答案 3 :(得分:45)

框选择

Windows: shift + alt + 鼠标左键

macOS: shift + 选项 + 点击

相反 正如这里提到的https://stackoverflow.com/questions/30384442/does-visual-studio-code-have-box-select-multi-line-edit/36650448#36650448

答案 4 :(得分:19)

使用CTRL + D在Windows和Linux中使用相同单词的多字编辑。 使用CMD + D for Mac。

答案 5 :(得分:17)

version 1.13 (May 2017),您最终可以更改默认修改键以创建多个游标(添加到设置):

"editor.multiCursorModifier": "ctrlCmd"

P.S。修饰符"关注链接"从这一刻开始将是 alt

答案 6 :(得分:16)

在Mac上它是:

按下向上或按箭头键

选项 + 命令

答案 7 :(得分:12)

(Windows 10专业版x64)以下是一些方法!

  1. alt + 点击

  2. alt + ctrl + up / down

  3. 键绑定:click + ptrdiff_t(???它不起作用!)

  4. enter image description here

答案 8 :(得分:10)

对我来说,有效的解决方案是首先选择要编辑的文本,然后使用 CTRL + F2 选择页面中所有匹配的数据。 您也可以按照@lesterCovax

的建议使用 CTRL + Shift + L

请注意::上述解决方案利用VSCode编辑器的固有功能在整个页面上选择相似的文本,因此请注意。

对我来说,上述 Ctrl + ALT + Arrowkeys 的解决方案不起作用,因为它导致屏幕更改了显示方向,从而无法选择VSCode中的行。

enter image description here

答案 9 :(得分:9)

我正在使用vscodevim扩展名,因此我不确定这是否是一个常见问题。但是,我遇到的问题是Ctrl + Alt + UpArrow颠倒了我的屏幕。

查看VSCode Basics(如果他们在最近的更新中对此进行了更改),则会使用:

Ctrl + Alt + Shift +( Up / down )< / p>

希望这有帮助!

答案 10 :(得分:9)

我想选择多行并点击“某事”以为每个选择行设置一个光标(类似于 Ctrl - Shift - L 在Sublime Text中。 VS Code中的此操作称为“将游标添加到行结束”。

这已在VS Code 1.22中测试过,适用于 Windows Mac

这是方法:

  1. 选择要包含多个游标的行。
  2. 只需点击 Alt - Shift - I
  3. 现在每个选定行都有一个光标。

答案 11 :(得分:7)

acorn您现在也可以使用鼠标中键进行多行选择/框选择。

答案 12 :(得分:6)

version 1.43 (February 2020)

您现在可以通过以下方式切换列选择模式,该模式可以更改鼠标手势和箭头键:

  • 菜单栏>选择>列选择模式
  • Ctrl + Shift + P (显示所有命令)>切换列选择模式
  • 绑定命令"editor.action.toggleColumnSelection"的密钥

enter image description here

注意:激活后,状态栏中会显示一个“列选择”面板,您可以按此面板再次将其禁用。

答案 13 :(得分:5)

步骤1:

 选择要替换的词


第2步:

Ctrl + F 这将选择它多次出现


第3步:

Alt + Enter ,这会将光标设置在所有找到的出现位置


第4步:

刚开始输入新词


答案 14 :(得分:4)

我认为这取决于您的VSCODE版本。

我是Linux版本vscode 1.7.2

{ "key": "ctrl+shift+up", "command": "editor.action.insertCursorAbove", "when": "editorTextFocus" }, { "key": "shift+alt+up", "command": "editor.action.insertCursorAbove", "when": "editorTextFocus" }, { "key": "ctrl+shift+down", "command": "editor.action.insertCursorBelow", "when": "editorTextFocus" }, { "key": "shift+alt+down", "command": "editor.action.insertCursorBelow", "when": "editorTextFocus" }

关键是所有机器中的快捷方式都不相同,因此您应该检查配置。转到菜单:

  

文件→首选项→键盘快捷键

搜索editor.action.insertCursorAboveeditor.action.insertCursorBelow并查看您当前的配置。如果它们与操作系统的快捷键冲突,您可以更改它们。

答案 15 :(得分:2)

在Window中,以下组合对我有用:

  • Ctrl + Shift + Alt +向下键
  • Ctrl + Shift + Alt +向上键

答案 16 :(得分:2)

(没有鼠标)对于macOS,我发现这非常快!

  1. CMD + f搜索要更改的(单词)。
  2. Option + Enter选择要搜索的所有单词。

只需更新第一个单词,它将更新所有选定的单词。

答案 17 :(得分:2)

在最新版本的VS Code中,您现在可以按住Option键(在Windows中为Alt键)拖动光标,以选择多行中的同一列。

要启用此功能,请确保将editor.multiCursorModifier更改为以下形式:

"editor.multiCursorModifier": "ctrlCmd"

摘自VS Code发行说明1.32.0:

  

在下面的视频中,选择作为常规选择开始,然后按住Alt直到释放鼠标按钮:

Example of improved column selection:

答案 18 :(得分:2)

我正在Windows 10中使用最新版本的VS代码,即1.46.1(2020年5月)。只需在要选择的行上按Alt + mouse left click。这样,您可以一次选择多行,然后进行编辑。同时按Esc退出。 如果您来自崇高文字,这真的很有帮助。

答案 19 :(得分:1)

根据 VS Code 1.55.2 版本 (2021) 在 User > Commonly Used 部分下有一个选项为 Multi Cursor Modifier。见下图。 enter image description here

对于多光标,默认键是alt,如果您希望它可以更改为Ctrl。 此外,对于合适的位置,您可以按住Middle Mouse button向下移动

答案 20 :(得分:1)

windows 上,您可以按以下键在下一行/上一行上创建额外的光标:

Ctrl + Alt + Shift +向下/向上

缺少 Shift 将翻转您的屏幕。

创建额外的光标将允许您一次编辑多行。

答案 21 :(得分:1)

在任意文本位置添加多个光标

这是通过使用Ctrl+单击来完成的。首先,您必须启用多光标修饰符。通过 Ctrl+Shift+PCommand Palette 上简单地键入此选项。

从多个文本位置移除一个光标。

在光标上执行Ctrl+点击

答案 22 :(得分:1)

除了所有答案外,还有另一种方法。选择所需的行,然后按:

  • Windows: Shift + Alt + i
  • Mac: shift + 选项 + i

这会将光标置于所选内容的每一行中。

答案 23 :(得分:1)

我的设置:Windows 8.1 64位,VSCode版本1.33.1

问题:与Intel HD Graphics 4000的键盘快捷键冲突

当我使用VSCode的默认快捷方式时(CTRL + ALT + UP CTRL + ALT + DOWN),我遇到了问题。以我为例,这些命令分别将屏幕旋转0º和180º。这很麻烦,因为我的计算机中安装了图形英特尔应用程序。然后,我只是禁用此应用程序的快捷键。

Here是帮助他人的教程。

答案 24 :(得分:1)

vs code 中,只需按 alt 并将光标移动到编辑位置即可。

答案 25 :(得分:1)

如果您使用的是Linux,则可能会与Alt + Click发生冲突,这是&#34;移动窗口&#34;的默认设置。

您可以转到设置&gt;窗口行为&gt;窗口行为&gt;操作标签

只需删除Alt +左​​(保持)即可。)

这是最好的方法,因为您不需要按住两个+键来完成这么简单的任务。

答案 26 :(得分:0)

当我需要快速编辑文件中约2万行时,使用SHIFT + ALT + i的{​​{3}}对我有用。提到的大多数其他键盘快捷键仅对有限数量的行有用。 SHIFT选择要进行列编辑的区域,然后按SHIFT + ALT + i是处理此问题的最有效方法。

我偶然发现的(但此处未提及)是 在“光标编辑模式”下限制为1万行 solution from @maxime来增加它)。这意味着对于超大文件,最好是编写编辑脚本,而不是手动进行编辑。

对于诸如an open Github feature request之类的必须使用CTRL + SHIFT + L之类的快捷方式(默认绑定为Select all occurrences of current selection)来完成此操作的用户,应检查是否未安装键盘映射扩展名。您可以通过在扩展程序窗格中搜索@recommended:keymaps,然后转到File > Preferences > KeymapsCTRL+K CTRL+M)来进行检查。

默认的[Windows]键映射可以PDF格式@specimen找到,或者您可以转到File > Preferences > Keyboard Shortcuts查找/修改当前绑定。还有更深入的键绑定文档HERE

答案 27 :(得分:0)

在具有KDE的Linux Fedora(我尝试过Fedora 31)上,请转到:

  1. 系统设置
  2. 窗口管理
  3. 窗口行为
  4. 窗口操作
  5. 内部窗口,标题栏和框架动作
  6. 单击左键单击框
  7. 选择不执行任何操作(代替移动/拖动)

现在,您可以通过 Alt +左​​键单击来选择多行!

答案 28 :(得分:0)

对我来说Alt + Middle Click(滚轮)效果很好 您必须单击Alt,然后长按 Middle Click,然后滚动向上向下

答案 29 :(得分:0)

只需 Opt +在Mac上点击对我有效

答案 30 :(得分:0)

在 Windows 上..

  1. 选择一行您想在任何地方更改。 (使用鼠标光标
  2. CTRL + F2,您将立即开始编辑所有行

答案 31 :(得分:0)

我正在使用Sublime Keymap,并且最佳答案提供的键绑定似乎不起作用:(可能是VS代码与Sublime Keymap之间存在一些冲突。

@Han推荐的键绑定对我有用(非常感谢!):

  • 通过 Ctrl + Shift + Up / Down
  • 进入多行光标模式
  • 使用 Esc
  • 退出

[旁注]以下是将Emmet与多行光标一起使用的小示例(通过上面列出的这些键绑定启用和禁用):

enter image description here

答案 32 :(得分:-1)

IMO,最简单的步骤是

Ctrl + F2

这对我有用