Uwe Ziegenhagen <ziegenha...@gmail.com> writes:

Hi,

> is there a way to move a specific org mode item across its superior level
> via shortcut?
>
> In the following example I'd like to move the "cccc" line via shortcut
> below
> the 'bbbb' line.
>
> * aaa
> ** TODO cccc
> * bbb
> ** TODO dddd
>
> As addon it would be cool to flag this moved line with e.g. "moved on
> 2014-05-29"
>
> What I trying to accomplish here is to create a kind of electronic version
> of 43folders. When I am not able to finish a task on say Monday, I'd
> like to
> be able to move it (or alternatively copy it [while setting the original
> entry's status to "postponed"]) to the next day.

Isn't it a feature of Org-mode that tasks can be added anywhere without
giving a thought in the agenda files, letting the agenda itself sort
them by date? Just changing the timestamp from monday to tuesday would
do the job in a normal workflow, making the agenda-file structuring by
day redundant.

Otherwise what you want would be pretty easy to implement with Orgs
basic structure editing and navigation functions, e.g.

#+begin_src emacs-lisp
  (defun tj/move-entry-to-next-day ()
    "Move entry at point to next parent and tag it."
    (unless (org-on-heading-p)
      (outline-previous-heading))
    (org-mark-subtree)
    (kill-region (region-beginning) (region-end))
    (org-up-heading-safe)
    (org-forward-heading-same-level 1)
    (forward-line)
    (yank)
    (outline-previous-heading)
    (org-mark-subtree)
    (org-change-tag-in-region 
     (region-beginning) (region-end) "postponed" nil))
#+end_src

This works with you example Org snippet, but is not tested otherwise. 

-- 
cheers,
Thorsten


Reply via email to