Skip to content

emacsfodder/move-text

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

Move-Text CI Tests MELPA MELPA Stable

Move Text

MoveText allows you to move the current line using M-up / M-down (or any other bindings you choose) if a region is marked, it will move the region instead.

Using the prefix arg (C-u number or META number) will predetermine how many lines to move.

Install from MELPA (or MELPA stable)

M-x package-install move-text <RETURN>

If you want to use the default bindings, add the following to .emacs anywhere after (package-initialize):

(move-text-default-bindings)

This sets the keyboard shortcuts:

  • Meta-up move-text-up (line or active region)
  • Meta-down move-text-down (line or active region)

Demonstration

Indent after moving...

@jbreeden gave us this useful function advice to have Emacs re-indent the text in-and-around a text move.

(defun indent-region-advice (&rest ignored)
  (let ((deactivate deactivate-mark))
    (if (region-active-p)
        (indent-region (region-beginning) (region-end))
      (indent-region (line-beginning-position) (line-end-position)))
    (setq deactivate-mark deactivate)))

(advice-add 'move-text-up :after 'indent-region-advice)
(advice-add 'move-text-down :after 'indent-region-advice)