[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: "clearing" the state of an org-mode subtree
From: |
Bernt Hansen |
Subject: |
[Orgmode] Re: "clearing" the state of an org-mode subtree |
Date: |
Sun, 11 Oct 2009 12:46:38 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Robert P. Goldman <address@hidden> writes:
> Bernt Hansen <bernt <at> norang.ca> writes:
>
>>
>> Paul Mead <paul.d.mead <at> gmail.com> writes:
>>
>> > Robert Goldman <rpgoldman <at> sift.info> writes:
>> >
>> >> Andrew Stribblehill wrote:
>> >>> org-mode files are plain text. M-% to do a replacement: once you've
>> >>> entered your search term and its replacement, hit ! to replace all
>> >>> without question.
>> >>
>> >> Yes, one can do this, but note that it's not entirely a no-brainer. You
>> >> need to:
>> >>
>> >> 1. clear all the check boxes and then recompute all checkbox counts in
>> >> the region. [this isn't a simple tag replacement]
>> >>
>> >> 2. replace all non-TODO keywords with TODO. This is a replacement, but
>> >> not a simple one to do with M-%
>> >>
>> >> 3. Wipe out all of the notes that were added with state changes.
>> >> Again, this can be done with a replacement command, but it's not a
>> >> trivial one.
>> >>
>> >> This is one of those cases where automating a task will not pay back the
>> >> investment (at least not to me, individually), so I think I'd better
>> >> just do it by hand.
>> >>
>> >> Thanks, everyone,
>> >
>> > Have you thought about using yasnippet? I have a repeating set of TODOs
>> > in a particular order that I have to do every month. Rather than reusing
>> > the old structure, I just insert it again from a snippet. That way I
>> > also have all my notes from last month too.
>>
>> Or copy the subtree _before_ you fill it in with details. Make a
>> repeating task that is just to copy the subtree at the appropriate time
>> so the subtree is available for the repeat after this one, and then
>> proceed to use one of the copies for the current task iteration.
>
>
> Yes, this would clearly have been The Right Thing had I realized when I built
> the subtree that I might want to use it again. But I didn't (this seems like
> a
> specific case of the general "code reuse" problem --- it's nice if you can
> foresee that you'd like to reuse something but often that does not happen).
>
> The issue about copying, IIUC, is that the template from which one is to copy
> must be kept "out of band" with respect to the agenda. That is, it must be
> kept
> somewhere (perhaps in an "org-templates.org" file) where the agenda will not
> see
> it, and copied from the templates file into a file that is active wrt the
> agenda. The yasnippet approach fits this. But again, this is a different use
> case --- one in which the user has had the foresight to realize that a task
> will
> be used over and over.
>
> Note that no templating approach (automated by yasnippet or not) supports
> learning in the course of this code reuse. E.g., if I think of something this
> year when I am winterizing, and add that new TODO into my currently active
> copy
> of the template, then it won't appear next year if I reinvoke the template.
>
> In general, I'm inclined to think that this case is irregular enough that it's
> probably best to simply keep my one working copy and manually clear it every
> year when I need another. It's probably an AI-complete problem to clear an
> arbitrary hunk of org back to a pristine state!
>
> Thanks for the discussion,
I have a similar setup for my quarterly accounting tasks - I just have
them scheduled a year in advance so they don't bother my agenda views.
I copy that subtree which moves it forward another year. I keep the
data in-band.
On ** TODO Q1 Accounting 2010
I do C-c C-x c, create 1 clone, and move it forward +1y
This makes 2 copies actually - the one for next year _and_ moves the
repeating task forward another year. Then All I do is change the year
on the top-level task and I'm done.
Then I can work on the entry without the +1y repeater.
,----[ test2.org ]
|
| * Accounting
|
| ** TODO Q1 Accounting 2010
| SCHEDULED: <2009-11-15 Sun +1y>
| - Copy subtree
| *** TODO Year End adjustments
| SCHEDULED: <2009-11-15 Sun>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO October Accounting
| SCHEDULED: <2009-11-15 Sun>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO November Accounting
| SCHEDULED: <2009-12-15 Tue>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO December Accounting
| SCHEDULED: <2010-01-15 Fri>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO File Taxes Oct - Dec
| SCHEDULED: <2010-01-15 Fri>
`----
After the copy (and editing the years on the Q1 Accounting YYYY task) my
file looks like this:
,----[ test2.org ]
|
| * Accounting
|
| ** TODO Q1 Accounting 2010
| SCHEDULED: <2009-11-15 Sun>
| - Copy subtree
| *** TODO Year End adjustments
| SCHEDULED: <2009-11-15 Sun>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO October Accounting
| SCHEDULED: <2009-11-15 Sun>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO November Accounting
| SCHEDULED: <2009-12-15 Tue>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO December Accounting
| SCHEDULED: <2010-01-15 Fri>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO File Taxes Oct - Dec
| SCHEDULED: <2010-01-15 Fri>
| ** TODO Q1 Accounting 2011
| SCHEDULED: <2010-11-15 Mon>
| - Copy subtree
| *** TODO Year End adjustments
| SCHEDULED: <2010-11-15 Mon>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO October Accounting
| SCHEDULED: <2010-11-15 Mon>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO November Accounting
| SCHEDULED: <2010-12-15 Wed>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO December Accounting
| SCHEDULED: <2011-01-15 Sat>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO File Taxes Oct - Dec
| SCHEDULED: <2011-01-15 Sat>
| ** TODO Q1 Accounting 2012
| SCHEDULED: <2011-11-15 Tue +1y>
| - Copy subtree
| *** TODO Year End adjustments
| SCHEDULED: <2011-11-15 Tue>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO October Accounting
| SCHEDULED: <2011-11-15 Tue>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO November Accounting
| SCHEDULED: <2011-12-15 Thu>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO December Accounting
| SCHEDULED: <2012-01-15 Sun>
| - [ ] Step 1
| - [ ] Step 2
| - [ ] Step 3
| ...
| - [ ] Step n
|
| *** TODO File Taxes Oct - Dec
| SCHEDULED: <2012-01-15 Sun>
`----
HTH,
Bernt
- [Orgmode] "clearing" the state of an org-mode subtree, Robert Goldman, 2009/10/09
- Re: [Orgmode] "clearing" the state of an org-mode subtree, Andrew Stribblehill, 2009/10/09
- Re: [Orgmode] "clearing" the state of an org-mode subtree, Darlan Cavalcante Moreira, 2009/10/10
- Re: [Orgmode] "clearing" the state of an org-mode subtree, Robert Goldman, 2009/10/10
- [Orgmode] Re: "clearing" the state of an org-mode subtree, Paul Mead, 2009/10/11
- [Orgmode] Re: "clearing" the state of an org-mode subtree, Bernt Hansen, 2009/10/11
- [Orgmode] Re: "clearing" the state of an org-mode subtree, Robert P . Goldman, 2009/10/11
- [Orgmode] Re: "clearing" the state of an org-mode subtree,
Bernt Hansen <=
- Re: [Orgmode] Re: "clearing" the state of an org-mode subtree, Nick Dokos, 2009/10/11
- Re: [Orgmode] Re: "clearing" the state of an org-mode subtree, Robert Goldman, 2009/10/12
- Re: [Orgmode] Re: "clearing" the state of an org-mode subtree, Carsten Dominik, 2009/10/12
- [Orgmode] Re: "clearing" the state of an org-mode subtree, Gregory J. Grubbs, 2009/10/11