Un des trucs que j'adore sous org-mode, c'est la possibilité de déplacer des éléments (items de listes, titres, sections, etc.) avec M-haut et M-bas.

J'ai réalisé ce matin que je passais quand même un certain temps, lors de l'édition de fichiers, à enchaîner les C-k et C-y pour déplacer des lignes entières. Ça serait-y pas plus pratique de pouvoir utiliser M-haut et M-bas partout pour déplacer les lignes de la même manière que sous org-mode ?

Un petit tour sur EmacsWiki, et voilà :

(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)))

(global-set-key (kbd "M-<up>") 'move-line-up)
(global-set-key (kbd "M-<down>") 'move-line-down)

On rajoute ça à son .emacs, et boudiou que c'est pratique !