我正在尝试在大型(ish)文件上使用 vscode 的多光标功能。文件太大,无法使用 ctrl-alt-up 或 down 单独选择每一行。在 sublime-text 中,我会选择所有内容并按下 ctrl-shift-l。 vscode中是否有类似的东西。我尝试使用正则表达式搜索 ^,但这给了我一个错误,指出“表达式匹配所有内容”。
命令选择/添加光标到行尾 alt
shift
i
将光标放在当前选择的每一行. (对于 mac 使用 opt
shift
i
)
提示:您可以使用 ctrlk,ctrls 调出键盘快捷键参考表(如按顺序排列的这两个键盘组合)。 (对于 mac 使用 cmdk,cmds)
按住 Alt+Shift 并选择块。然后按 End 或 Right 按钮。您将获得选定的单行。
我在 Windows 中使用版本 VSCode 1.5.3。
ctrl + shift + L
将光标添加到所有选定的行
alt+shift+I
。
ctrlcmd
而不是 alt
,则此快捷键为 ctrl + shift + drag
或 cmd + shift + drag
。
按住 Alt+Shift+i
按住 Home (fn+-> Mac) 表示最右边或 End 表示最左边 (fn+<- Mac)
https://i.stack.imgur.com/VA4j9.gif
gifox
来制作此类 gif。
此功能在许多编辑器中实际上称为 split selection into lines
。
Sublime Text 使用默认的键绑定,CTRLSHIFT L
VSCode 使用 ALTSHIFTI
对于 Atom,您实际上需要将您的键盘映射编辑为类似这样的内容
'.platform-win32 .editor, .platform-linux .editor': 'ctrl-shift-L': 'editor:split-selections-into-lines'
实线与显示线
首先我们要了解实线和显示线的区别,才能完全理解问题的答案。
启用自动换行后,超出窗口宽度的每一行文本都将显示为换行。因此,文件中的单行可能会在显示器上由多行表示。
区分实线和显示线的最简单方法是查看文本编辑器左边距中的行号。以数字开头的行对应于实际行,可能跨越一个或多个显示行。每次换行以适应窗口时,它开始时没有行号。
每个显示行开头的光标:
https://i.stack.imgur.com/auzkV.png
每条实线开头的光标:
https://i.stack.imgur.com/YFAST.png
回答问题
现在我们知道了显示线和实线之间的区别,我们现在可以正确回答实际问题。
按住 AltShift 并选择文本块。
按 Home 将光标放在每个显示行的开头。
按 End 将光标放在每个显示行的末尾。
按 HomeHome(Home 两次)将光标放在每条实线的开头。
按 EndEnd(End 两次)将光标放在每条实线的末尾。
请理解 AltShiftI 将光标放在每条实线的末尾。
安装扩展 Sublime 命令。
[Sublime 命令] 将 Sublime Text 中的命令添加到 VS Code:转置、将选择扩展为行、拆分为行、连接行。
(不要忘记将扩展程序详细信息页面中的键绑定添加到您的 keybindings.json
)
VS Code 不是已经有“分行”命令了吗?
是的,是的。但是,它与 Sublime 中的不同。
在 VS Code 中,当您拆分为行时,您的选择会被取消选择,并且光标会出现在被选择的每一行的末尾(除了光标出现在选择末尾的最后一行)。
在 Sublime 中,当您分成几行时,每行的末尾会出现一个光标(与 VS Code 中的例外情况相同),并且选择在每一行上划分并“给予”同一行。
我有同样的问题,我习惯于在 Visual Studio 中使用 Alt + 拖动来执行“框选择”,但它在代码中不起作用。
现在似乎不可能通过选择每一行来做不同的事情。
但是插件应该很快就会得到支持,所以如果微软没有直接实现,我们可能会看到一个插件。
From visual studio uservoice forums:
我们计划为 Visual Studio Code 提供插件支持。感谢您的关注,并在接下来的几周内查看我们的博客中的更多详细信息。 http://blogs.msdn.com/b/vscode。对于预览,我们正在寻找正是这种类型的反馈。保持它来。 Sean McBreen – VS Code 团队成员
home
键。home
为fn
+left
shift + option + i
然后按fn + left arrow
两次,如果您想从开始类型fn + right arrow
转到每行的末尾两次,请保持相同的选择