multi-cursor icon indicating copy to clipboard operation
multi-cursor copied to clipboard

:tada:

Multi-cursor package

An atom package to easily create more cursors with keystrokes.

Expand last cursor up/down

Multi-cursor demo

Expand all cursors up/down

Multi-cursor expandAll

OSX Keymaps:

  • Creating cursors
    • alt + up = Create cursor above
    • alt + down = Create cursor under
    • Cmd + shift + L = Create one cursor for each selected line 1
  • Moving the last cursor that has been created
    • ctrl + alt + up = Move the last-created cursor up
    • ctrl + alt + down = Move the last-created cursor down
    • ctrl + alt + left = Move the last-created cursor left
    • ctrl + alt + right = Move the last-created cursor right

Linux Keymaps:

  • Creating cursors
    • ctrl + shift + up = Create cursor above
    • ctrl + shift + down = Create cursor under
    • Custom keymap can be defined for: Create one cursor for each selected line 1
  • Moving the last cursor that has been created
    • ctrl + shift + alt + up = Move the last-created cursor up
    • ctrl + shift + alt + down = Move the last-created cursor down
    • ctrl + shift + alt + left = Move the last-created cursor left
    • ctrl + shift + alt + right = Move the last-created cursor right

Windows Keymaps:

  • Creating cursors
  • Moving the last cursor that has been created
    • ctrl + shift + alt + up = Move the last-created cursor up
    • ctrl + shift + alt + down = Move the last-created cursor down
    • ctrl + shift + alt + left = Move the last-created cursor left
    • ctrl + shift + alt + right = Move the last-created cursor right

Custom Keymaps:

The default keymaps may be overriden for your favorite keystroke in your keymap.cson with:

'atom-workspace atom-text-editor:not([mini])':
  # Warning:
  # You may have to unset the keybinding if it's already in use.

  # Expand all cursors
  'ctrl-cmd-down': 'multi-cursor:expand-all-down'
  'ctrl-cmd-up':   'multi-cursor:expand-all-up'

  # Expand last cursor
  'ctrl-down': 'multi-cursor:expand-down'
  'ctrl-up':   'multi-cursor:expand-up'

  # Move the last cursor
  'ctrl-alt-down':  'multi-cursor:move-last-cursor-down'
  'ctrl-alt-right': 'multi-cursor:move-last-cursor-right'
  'ctrl-alt-left':  'multi-cursor:move-last-cursor-left'
  'ctrl-alt-up':    'multi-cursor:move-last-cursor-up'

# Create one cursor for each selected line.
# Note: Mac keybindings ship with Atom out-the-box, for windows and linux you may wish to add the following,
# compare https://github.com/atom/atom/issues/6427
'.platform-win32 atom-text-editor:not([mini])':
    'ctrl-shift-l': 'editor:split-selections-into-lines'
'.platform-linux atom-text-editor:not([mini])':
    'ctrl-shift-l': 'editor:split-selections-into-lines'

Bugs, feature requests and comments are more than welcome in the issues :tada:


1: The command for creating one cursor for each selected line is provided by Atom out-of-the-box under the name "Editor: Split Selections into Lines".