I've been reading all over and I can't find anything on how to do this in Atom on Windows? And by multi-line editing, I mean being able to expand your cursor across multiple-lines, and being able to type, and that whatever you have typed replicates over all lines you have selected
IIRC, it is the same as it is with Sublime Text. Ctrl+Alt and then use the arrow keys to select additional rows. If using the mouse, then just the Ctrl key is used; the selected locations can be as required, the wouldn't need to be in any particular order.
Atom have a "flight manual" (user manual) with some more detail of the block editing here.
On a Mac when using the mouse, it would be the Cmd / ⌘ key instead of the Ctrl as on Windows.
On Windows, the Ctrl+Alt could be already mapped by the OS or the screen card drivers/utility to change the screen orientation, for example: CTRL + ALT + WINDOWS KEY + Up / Down
The same would apply on the Mac, e.g.: the Ctrl + Shift (as used in Sublime) is often mapped by the OS, so the functionality there takes preference.
In both cases the keybindings can be changed to something else to accommodate both (or turn off the OS, screen card short cuts).
For mac users, I found 3 ways:
- You have a plugin to add support for alt + rectangular mouse selection, called
- With ⌘ + mouse click in multiple places to create multiple cursors.
Or without the mouse, there is control+shift+↑ and control+shift+↓, but you have to disable the same shortcuts from System Preference -> Keyboard -> Shortcuts used by Mission Control: look for
^ ↑(ie. control+↑) and
^ ↓(ie. control+↓).
Install a plugin,
NOTE: multi-cursor plugin does not show up in Packages menu like some other plugins.
Pressing the following key combo will give you multi line edit,
Windows: alt up arrow
Linux: alt shift up arrow
Today I found a package in Atom named "column-select". So far it works perfectly fine. The way it works is very close to the implementation of Block selection of Rstudio and Kate.
It does not add space to fill the gap. It literally let you select vertically if there is anything there (skips empty lines and lines that does not have enough length).
The following gif from their Github shows how it works: