Skip to content

emacsfodder/move-text

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hi all, Please consider donating to this or any of my many of opensource projects.

Buy Me a Coffee at ko-fi.com

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)