Atom编辑器中是否有选择列进行编辑的快捷键?

45

情境

在使用Atom编辑器编辑文件时,如何选择多行以执行相同的编辑操作?

例如:

this.name  = name;
this.age   = age;
this.sound = sound;

需要进行转换:

that.name  = name;
that.age   = age;
that.sound = sound;

想象一下有许多这样的行,但我们不想使用查找和替换,因为它会改变超出需要修改的范围。

问题 - 是否有 键盘快捷键 可以选择列?

是否有一系列 键盘快捷键 (最好是 Mac)可以用来:

  • a)选择初始单词
  • b)选择“列”(即在几行中的该单词)

然后将更改应用于多行 (批量)

我知道如何在 SublimeText 中执行此操作: http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/editing/editing.html#column-selection 但在Atom中尝试了许多不同的组合键,没有任何效果,搜索也无果...

7个回答

61

有几种方法可以实现这一点:

键盘

您可以使用Ctrl+Shift+↑/↓启用列选择模式。这将允许您将光标扩展到多个行中。选定所有行后,释放按键,并使用Delete键删除要替换的文本。完成后,按Esc键释放光标。

注意:在OS X中,您必须禁用任务控制键绑定)才能使用此键组合。

如何禁用Mission Control(冲突)键绑定(Mac

打开系统偏好设置 > Mission Control

enter image description here

找到Mission Control应用程序窗口的键绑定:

mission-control-key-bindings

禁用这两个的键绑定:

enter image description here

更多详细信息在此处.

鼠标

如果安装了Sublime Style Column Selection包,您可以使用Alt+鼠标选择相关的列。

更多详细信息在此处.


1
谢谢@nwinkler!我没有想到要禁用任务控制键绑定。我已经更新了你的答案,为其他人提供了内联说明和截图。再次感谢! - nelsonic
这在Windows上似乎不起作用。 Vineel Kumar Reddy Kovvuri的答案似乎有效。Ctrl-D对于此示例确实有效,但它并没有真正标记列,它似乎标记了所选文本的下一个出现(问题中的“this”)。 - Johan Bergens
一个很棒的答案。谢谢大家! - Darragh Enright

14

13

在第一个"this"上放置光标,按下Ctrl+D(OS X: command+D)三次。然后输入"that"。

另一个选择是选择要编辑的行。然后从“选择”菜单中选择“拆分成行”。接着按下home键,开始使用多光标模式进行编辑。


谢谢! 这是在Windows上唯一有效的方法。Ctrl-D也可以向下扩展已经选择的内容。 - Johan Bergens

10

对于我在Atom 1.7.4上,通过将下面的代码添加到我的 /Users/用户名/.atom/keymap.cson 文件中,成功地使用了 alt-shift-down 快捷键。

'atom-workspace atom-text-editor:not([mini])':
  'alt-shift-down': 'editor:add-selection-below'

更新:我无法同时配置alt+shift+down和alt+shift+up。目前,我可以接受使用alt+shift+down。


1
我没有问题配置alt+shift+up和+down一起使用。只需添加第三行内容:'alt-shift-up': 'editor:add-selection-above' - Jpsy

2

在Windows 10上,按照以下步骤操作:

  1. 同时按下ctrl + alt键,并使用上/下箭头键扩展您现在的垂直光标高度
  2. 现在使用shift键选择要删除的列
  3. 按下delete键以删除所选列
  4. 单击文档中的任何位置(不要按下ctrl / alt键),将光标恢复到正常的1列高度

0

我看到了这个帖子,而我个人正在寻找的功能是多光标扩展。


0

我已经尝试了以下所有可能的解决方案:

  1. sublime-style-column-selection
  2. multi-cursor
  3. multi-cursor-plus
  4. 将以下文本添加到 /Users/$(whoami)/.atom/leymap.cson
'atom-workspace atom-text-editor:not([mini])':
  'alt-down': 'editor:add-selection-below'
  'alt-up': 'editor:add-selection-above'

最后一个解决方案是最好的,而且不会干扰我其他的常规工作流程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接