Hello, Marcelo de Moraes Serpa <celose...@gmail.com> writes:
> It'd be nice if we could just send an item to the bottom of a list. Useful > when reviewing a long list and putting the next actions in the top. Is there > a way to do that with org currently? Not heavily tested, but something like the following snippet should work: #+begin_src emacs-lisp (defun ngz-move-item-at-bottom () "Move item at point at the bottom of the list. Note that the item will be become the last item of the top-level list, whatever its original indentation was." (interactive) (if (not (org-at-item-p)) (error "Not in a list") (let* ((item (point-at-bol)) (struct (org-list-struct)) (top-item (org-list-get-top-point struct)) (end (org-list-get-item-end item struct)) (bullet (org-list-get-bullet item struct)) (body (org-trim (buffer-substring (progn (looking-at (concat "[ \t]*" bullet)) (match-end 0)) end))) (prevs (org-list-prevs-alist struct)) (last-top-level-item (org-list-get-last-item top-item struct prevs)) (ins-point (save-excursion (goto-char last-top-level-item) (point-at-eol))) (org-M-RET-may-split-line nil)) (if (= item last-top-level-item) (error "Item is already at the bottom of the list") (save-excursion (org-list-insert-item ins-point struct prevs nil body)) (delete-region item end))))) #+end_src Regards, -- Nicolas Goaziou