Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 1.85 KB

README.md

File metadata and controls

66 lines (47 loc) · 1.85 KB

move-dup

MELPA Stable MELPA

Minor mode for Eclipse-like moving and duplicating lines or rectangles.

This package offers convenient editing commands much like Eclipse's ability to move and duplicate lines or selections.

Demo

Demo

Courtesy of bg.jheng

Commentary

This package offers convenient editing commands much like Eclipse's ability to move and duplicate lines or rectangular selections.

If you aren't using package.el or plan to customize the default key-bindings, you need to put move-dup.el into your Emacs' load-path and require it in your Emacs init file; otherwise you can skip this part.

(require 'move-dup)

If you don't want to toggle the minor mode, you can bind these functions like so. All of these functions work on a single line or a rectangle.

(global-set-key (kbd "M-<up>") 'move-dup-move-lines-up)
(global-set-key (kbd "M-<down>") 'move-dup-move-lines-down)
(global-set-key (kbd "C-M-<up>") 'move-dup-duplicate-up)
(global-set-key (kbd "C-M-<down>") 'move-dup-duplicate-down)

If you used package.el to install move-dup, this is equivalent to all of the above.

(global-move-dup-mode)

If you are using package.el you can rebind default key-bindings the following way.

(use-package move-dup
  :bind (("M-p"   . move-dup-move-lines-up)
         ("C-M-p" . move-dup-duplicate-up)
         ("M-n"   . move-dup-move-lines-down)
         ("C-M-n" . move-dup-duplicate-down)))

Beware that this way you have to map all the key-bindings you need, not just the ones you'd like to remap.

You can also turn on move-dup-mode individually for each buffer.

(move-dup-mode)