diff -r b3baf25406f8 -r 88c4f68cb191 lisp/move-line.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/move-line.el Wed Nov 19 18:45:01 2014 -0600 @@ -0,0 +1,27 @@ +;; http://www.emacswiki.org/emacs/MoveLine + +(defun move-line (n) + "Move the current line up or down by N lines." + (interactive "p") + (setq col (current-column)) + (beginning-of-line) (setq start (point)) + (end-of-line) (forward-char) (setq end (point)) + (let ((line-text (delete-and-extract-region start end))) + (forward-line n) + (insert line-text) + ;; restore point to original column in moved line + (forward-line -1) + (forward-char col))) + +(defun move-line-up (n) + "Move the current line up by N lines." + (interactive "p") + (move-line (if (null n) -1 (- n)))) + +(defun move-line-down (n) + "Move the current line down by N lines." + (interactive "p") + (move-line (if (null n) 1 n))) + +(message "Loading move-line...done") +(provide 'move-line)