Matt Price <mopto...@gmail.com> writes: > i have a file "Collect.org" in which i collect items that need > processing. Every morning I go through the file, decide what needs to > be done with each item, and refile it. The outcomes are pretty > stereotyped, so for instance, if it's a project idea, I tag it with > :project:, give it the status TODO, and refile it in Projets.org; if > it's a simple task, I also give it the status TODO, but refile it in > gtd.org; and if it's a reminder about something I'm waiting on from > someone else, I give it the status WAITING, and also refile it in > gtd.org. > > I'd like to write a function that automates these tasks for me. The > idea is to have a keybinding (though my key map seems really full!) > that works a little bit like the rmemember template keybinding -- one > function, but with options that infoke slightly different outcomes. > so, say, > C-c f p = refile as a project > C-c f a = refile as an action > C-c f w = refile as 'waiting' > > My elisp is *terrible* though and I was hoping for some help. I can > see that for each option I want to perform: > > > (org-todo "STATE") > and then something like > (org-refile) > -- except that I want to pre-specify a refiling location. Is this > something I can do? I figure it must be possible since org-remember > does it, but my quick reading of that code didn't help me much. > > also, it seems to me I need something like an array, in which the > final character in the keybinding determines values for the TODO > state, the refiling location, and in some cases a tag (i'm not sure > what function to call to add a tag to a heading -- it looks like > org-set-tags doesn't take any arguments, so I guess that won't > work...). Can someone give me some pasic advice on building a > function like that?
My refile.org is your Collect.org. I tend to collect things in here up to a week and then refile things away to appropriate locations. Bulk refiling is really useful here - from the agenda mark the tasks you want to refile together and move them all to a single target. I've never needed a refiling function as you describe to keep up with my refile tasks. I tend to clock everything I work on and at the end of the day if there is clocked time on a refile task I refile it immediately to its target location. The remaining refile tasks can remain in the collection bin until my weekly review. I find during refiling I can just up-arrow to select previous refile targets and this is really convenient. HTH, Bernt _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode