对我来说,使用多个游标进行编程一直是个谜。 在浏览编辑器设置之前,我已经看过它,但是直到最近我才真正开始尝试它。 现在,我每天都在使用它,并且我一直在寻找新方法来加快原本繁琐的任务。
多个游标的确切含义是:它使您可以在编辑器中放置多个游标,以便您可以同时编辑多个位置。 听起来麻烦多于其应有的价值,但是一旦您学习了快捷方式,它就会变得自然。
如今,Visual Studio Code是我的首选编辑器,它具有开箱即用的多光标支持功能。 以下是Visual Studio Code(在Windows上)中的重要快捷方式:
- Alt +点击:在点击的地方放一个新光标
- Ctrl + Alt + Down:在当前光标下方添加一个新光标
- Ctrl + Alt +向上键:在当前光标上方添加新光标
就是这样 将光标放置到位后,即可照常键入,所做的更改将应用于每个光标位置。


当然,您的行不会总是对齐得那么好,因此您可能必须使用其他快捷方式的巧妙组合才能实现目标。 这是我一直使用的一些:
- 主页:将光标移到行首
- 结束:将光标移到行尾
- Ctrl +左键:将光标向左移动一个字
- Ctrl +向右键:将光标向右移动一个字
- Shift + [以上任何一项]:从上一个位置选择到新位置
- Ctrl + Backspace:删除一个字
- Ctrl + Delete:右删除一个词
为了说明这一点,在一些情况下,我遇到了广泛使用多个游标的情况。
让我们开始简单。 假设您从某处复制了姓名列表:
鳟鱼
法官
沃托
布莱克蒙
斯坦顿
(如果您知道我为什么选择这些名称,则要加分。)并且您想将其放入逗号分隔的字符串中。 您可以手动将它们放在一行中,并在两者之间添加逗号。 要么…


等等…发生了什么事? 一步步:
- 粘贴名称(Ctrl + V)
- 移至最后一行的开头(Ctrl +向左)
- 在第4、3和2行上插入光标(Ctrl + Alt + Up 3次)
- 将所有名称合并为一行(退格键)
- 以逗号分隔
那只是8个单独的击键。 您可以想象,如果您的清单较长,那么这样做可以加快速度。
回顾一下简介中的示例。 使用Ctrl + Alt + Up可以很容易地放置光标,因为我们需要将光标放置在每行的相同位置(即,它们垂直排列)。 如果我们需要它们抵消? 我们可以使用Alt + Click分别放置每个光标,但是如果您有很多行,那将需要一段时间。 相反,让我们利用其他导航快捷方式。


一步步:
- 在下面的行上插入光标(Ctrl + Alt + Down,4次)
- 向前跳一个单词 (Ctrl +向右键)
- 移到变量名的右边(向右两次)
- 输入一些文字
请注意,在第2步之后,光标是如何垂直偏移的,但是它们相对于变量都位于相同的位置。
我们感兴趣的线不会总是彼此重叠。 它们可能位于文件的不同部分。 幸运的是,我们可以使用旧的“查找”来选择我们感兴趣的所有区域,并将光标放在它们上面。
例如,考虑具有多个接口和类的文件。 我们如何选择和复制每个接口和类的名称?


一步步:
- 查找所有出现的“导出”(Ctrl + F,键入“ export”,Esc)
- 选择所有查找匹配项(Ctrl + Shift + L)
- 在接口/类名称之后移动光标(Ctrl +向右键,两次)
- 选择接口/类名称(Ctrl + Shift +左键)
- 复制(Ctrl + C)
我通过使用“导出”作为锚点使此过程变得更加容易,但是您可以通过使用正则表达式来进行更复杂的查找。 例如,如果没有“导出”字样,那么我可以使用以下正则表达式查找每次出现的以行开头的接口/类:
^(接口|类)
其余过程将相同。
最后,让我们看看如何用不同的单词同时替换多个单词。 再说一遍,假设您从某处复制了5个名字的列表:
埃斯科巴尔
高登
气味
佩拉扎
斯旺森
如果在文件中精确定位5个光标并将其粘贴,则会在每个光标位置粘贴1个名称。 GIF值一千字:


我将省略步骤-自己尝试一下!