It's obvious, but here's the snippet to promote the headline for your convenience: (defun ngz-move-headline-up () "Move current headline to the top of the tree" (interactive) (unless (org-at-heading-p) (error "Not at an headline")) (save-excursion (while (ignore-errors (org-move-subtree-up))))) The only minor issue I have now is with my org file conf section. It's supposed to be the last item in the file, but when I send the item to the bottom, it starts pilling up as I add more. It would be nice if we could setup a special tag for the conf section of the org file, i.e: * conf :HIDDEN: #+STARTUP: overview ... HIDDEN items would be hidden unless show-hidden-items toggles. Does that make sense? Cheers,  Marcelo. On Mon, Jul 4, 2011 at 10:27 PM, Marcelo de Moraes Serpa < celoserpa@gmail.com> wrote: > I definitely need to get my head around elisp. Thank you very much. > > > On Sun, Jul 3, 2011 at 4:39 AM, Nicolas Goaziou wrote: > >> Hello, >> >> Marcelo de Moraes Serpa writes: >> >> > Nicolas, the function works quite well! Thanks. Just one last request: >> Is >> > it possible to not follow the item until the bottom? The issue is that, >> once >> > running it and when the item is sent to the bottom of the file, the >> pointer >> > is also put there and the buffer scrolls down with it. >> >> >> Sure, it's simple as packing it into a (save-excursion ...) >> >> #+begin_src emacs-lisp >> (defun ngz-move-headline-at-bottom () >> "Move current headline to the last position in the same tree" >> (interactive) >> (unless (org-at-heading-p) (error "Not at an headline")) >> (save-excursion (while (ignore-errors (org-move-subtree-down))))) >> #+end_src >> >> Regards, >> >> -- >> Nicolas Goaziou >> > >