Atom Editor - 如何 select 带有多光标的矩形

Atom Editor - How to select rectangle with multi cursor

我很喜欢Notepad++的一个功能,按Alt然后用鼠标选中可以选出一个矩形选区,就像桌面上的选区一样。。。想不出合适的词来形容,也许 rectangular selectionvertical selectionblock selection。很酷的是它还可以处理空行结尾,它会自动生成空格。

Atom 中是否有类似的功能?

例如,一个用例是使用 tree 命令提取文件列表:

.
├── element_portals_commands
│   ├── depends.txt
│   └── init.lua
├── element_portals_functional
│   ├── portal_data_api.lua
├── liquid_portals
│   ├── constants.lua
│   ├── crafts.lua
│   ├── depends.txt
│   ├── sounds
│   │   └── fireball_whoosh.ogg
│   └── textures
│       ├── ray_y_tile.png
│       └── README.md
.......

将多光标置于固定宽度(每行的最后一个|代表光标)

.                                       |
├── element_portals_commands            |
│   ├── depends.txt                     |
│   └── init.lua                        |
................
│   ├── sounds                          |
│   │   └── fireball_whoosh.ogg         |
│   └── textures                        |
│       ├── ray_y_tile.png              |
│       └── README.md                   |
.......

然后开始输入

.                                       <- |
├── element_portals_commands            <- |
│   ├── depends.txt                     <- |
│   └── init.lua                        <- |
................
│   ├── sounds                          <- |
│   │   └── fireball_whoosh.ogg         <- |
│   └── textures                        <- |
│       ├── ray_y_tile.png              <- |
│       └── README.md                   <- |
.......

我现在做什么来实现这个:

  1. 查找行尾 \r\n 并替换为大量空格 &nbsp;&nbsp;&nbsp;\n
  2. 然后Ctrl + 点击我的出路。
  3. 插入一个字符。
  4. Trim行尾。

我相信有更好的方法。没有任何插件是可能的吗?你知道另一种选择吗?

更新:

一些进一步的研究表明

Add selection below alt+shift+

在当前光标下方放置另一个光标...但它不会用空格填充行。存在也可以填充线条的东西吗?

首先,根据official site of Notepad++,此功能称为栏模式编辑。

在 Atom 中有一个插件可以做类似的事情,但遗憾的是,如果该行不够长,它只会跳行,而不是填充 space。这是插件:

Sublime-style-column-select

今天我在 Atom 中发现了一个名为“column-select”的包。到目前为止,它工作得很好。他们的工作方式非常接近 Rstudio 和 Kate 的 Block selection 的实现。

不加space补缺。如果那里有任何东西,它实际上让你 select 垂直(跳过空行和没有足够长度的行)。

来自他们 github 的以下 gif 显示了它是如何工作的:

如果你想select atom中的一个矩形区域,你所要做的就是首先通过select输入一些文本来设置水平尺寸,然后通过按住CTL-SHIFT来设置垂直尺寸然后按向上或向下箭头。或者,您可以反过来执行此操作,首先使用 CTL-SHIFT 设置垂直尺寸,然后放开 CTL 但保持按住 SHIFT,然后使用向右或向左箭头 select 水平尺寸。