Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Maintain a to-do list with VIM

25 views
Skip to first unread message

Ralf Merkel

unread,
Dec 1, 2002, 5:24:04 PM12/1/02
to
Hello all!

Does anybody of you maintain his/her to-do list with VIM?

I'm currently used to write my own to-do's in a plain text file,
unstructured, each item delimited by a '-- '. As a programmer and
support member I'm facing a lot of tasks every day, sometimes making
my list looking a bit cluttered.

I'd like to make things a little more comfortable using VIM's
excellent features. I'm thinking of creating structured entries
(using some simple bindings) like this:

--
#PRIO=1 2002-12-01 10:45pm This is an example to-do entry
Here's some optional text do describe the task.
Text continues.
--

Then it should be possible to do things like:

* Folding: Leaving only the first line of an entry visible.

* Syntax coloring: Highlight entries according to its PRIO setting
(priority), emphasize title and so on.

* Bindings for creating new entries, deleting them, or mark them as
done (eg. by prefixing the lines with another character, probably
adding an extra line to record the time the task consumed, even
moving the completed entry to another buffer/file for my work
report).

* Create a function to move PRIO=1 tasks to the top of the list

I've been searching the web to find out whether there have been
efforts to do something similar before but didn't find any.

What do you think of it? How do you maintain your to-do lists and
work reports? Suggestions are very welcome.

Cheers,
Ralf

Juergen Salk

unread,
Dec 1, 2002, 6:20:57 PM12/1/02
to
Ralf Merkel <ralf_...@hotmail.com> wrote:

> I've been searching the web to find out whether there have been
> efforts to do something similar before but didn't find any.
>
> What do you think of it? How do you maintain your to-do lists and
> work reports? Suggestions are very welcome.

calendar.vim may be a good point to start with.

http://vim.sourceforge.net/script.php?script_id=52

Best regards - Juergen

Noel Henson

unread,
Dec 1, 2002, 6:19:57 PM12/1/02
to
Ralf,
I'm currently working with others on a VimOutliner project. Version 2.0
is due to be released any day now. It essentially turns Vim into a
folding outline tool. The current release provides poor folding but this
next one does what you'd actually thing folding an outline section would
do.

The new version includes sorting of selected regions which would work
well with your PRIO values as well is insertion of date and timestamps.
It has colorized headings, support for web-page generation and
hot-linking to other outlines.

I use it for To Do lists, brainstorming, project design, software
design, documentation, reports and even generating HTML slide
presentations of well over a hundred slides.

We have spoken of such stuff as prioritizing, flagging, marking and
such. Perhaps we can share code and ideas.

The current release is here:
http://www.troubleshooters.com/projects/vimoutliner/index.htm

Noel

Jens Schweikhardt

unread,
Dec 2, 2002, 8:33:17 AM12/2/02
to
Ralf Merkel <ralf_...@hotmail.com> wrote
in <ase264$hlt$05$1...@news.t-online.com>:
...
# Then it should be possible to do things like:
#
# * Folding: Leaving only the first line of an entry visible.
#
# * Syntax coloring: Highlight entries according to its PRIO setting
# (priority), emphasize title and so on.
#
# * Bindings for creating new entries, deleting them, or mark them as
# done (eg. by prefixing the lines with another character, probably
# adding an extra line to record the time the task consumed, even
# moving the completed entry to another buffer/file for my work
# report).
#
# * Create a function to move PRIO=1 tasks to the top of the list

All of this strikes me as a prime example for overengineering a
simple thing. :-)

Regards,

Jens -- who's Todo list is still plain old ASCII, sorted at
my discretion.
--
Jens Schweikhardt http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)

Noel Henson

unread,
Dec 2, 2002, 9:07:49 AM12/2/02
to
Jens Schweikhardt wrote:
> Ralf Merkel <ralf_...@hotmail.com> wrote
> in <ase264$hlt$05$1...@news.t-online.com>:
> ...
> # Then it should be possible to do things like:
> #
> # * Folding: Leaving only the first line of an entry visible.
> #
> # * Syntax coloring: Highlight entries according to its PRIO setting
> # (priority), emphasize title and so on.
> #
> # * Bindings for creating new entries, deleting them, or mark them as
> # done (eg. by prefixing the lines with another character, probably
> # adding an extra line to record the time the task consumed, even
> # moving the completed entry to another buffer/file for my work
> # report).
> #
> # * Create a function to move PRIO=1 tasks to the top of the list
>
> All of this strikes me as a prime example for overengineering a
> simple thing. :-)
>
> Regards,
>
> Jens -- who's Todo list is still plain old ASCII, sorted at
> my discretion.

Cool. Just like mine. Though I use tabs and indentation to show grouping
and such. That's why I use the Vim Outliner script.

Cheers,
Noel

Peter Karp

unread,
Dec 2, 2002, 3:45:15 PM12/2/02
to
On Sun, 01 Dec 2002 23:19:57 GMT, Noel Henson <no...@noels-lab.com>
wrote:


> I'm currently working with others on a VimOutliner project.

I have already taken a look at your project and liked some aspects and
didn't like others.

I'll take a look again.

One thing which I think would be a cool idea is to use a specific file
format (although plain ascii) to structure the document. I often use
the freeware version of treepad (lite). That's one of the first
outline editors.

There's a windows version, which also runs under wine. Also there's a
linux version in the make and hopefully will be released soon.

I would love to be able to edit a file in treepad one time and another
time use that same file in Vim in an outline mode. One advantage would
be that it's easy to use Vim as an outliner, but still be able to pass
the files to non-Vim users who never would bother to learn Vim, but
still like to use an outliner like Treepad. Also many other outliners
offer import/export routines for the treepad file format.

Would that be an idea to change the marker to a fold-expression, which
reflects the treepad format?

As an example I've created a tiny example file which shows how the
treepad file (with mainly empty nodes) would look like:

<Treepad version 2.7>
dt=Text
<node>
top node
0
<end node> 5P9i0s8y19Z
dt=Text
<node>
1st node
1
<end node> 5P9i0s8y19Z
dt=Text
<node>
node 1.1
2
Text in node 1.1

<end node> 5P9i0s8y19Z
dt=Text
<node>
2nd node
1
<end node> 5P9i0s8y19Z


Looking forward to hear your ideas

Greetings from Cologne
Peter

Noel Henson

unread,
Dec 2, 2002, 7:48:58 PM12/2/02
to
Peter Karp wrote:
> On Sun, 01 Dec 2002 23:19:57 GMT, Noel Henson <no...@noels-lab.com>
> wrote:
>
>
>
>>I'm currently working with others on a VimOutliner project.
>
>
> I have already taken a look at your project and liked some aspects and
> didn't like others.
>
>
>
>>The current release is here:
>>http://www.troubleshooters.com/projects/vimoutliner/index.htm
>
>
> I'll take a look again.

Sometime this week is should be ready to download.

>
> One thing which I think would be a cool idea is to use a specific file
> format (although plain ascii) to structure the document. I often use
> the freeware version of treepad (lite). That's one of the first
> outline editors.

I'll take a look at it when I get a chance. I must say that I am very
fond of the pure ASCII file format of VimOutliner. It is simple
tab-indented text. What is it that I would gain from a specific file format?

>
> Would that be an idea to change the marker to a fold-expression, which
> reflects the treepad format?

I looked at the file format you included. Instead of change the fold
markers (which are just tabs) so that the format you provided could be
used natively, I would suggest writing a VimOutliner-to-TreePad
import/export script.

One of the other nifty things about the tab-indented file format is that
it is very easy to parse with external tools to create different
presentations of the same data. Since there is no special file format, I
can also use it as design guides for firmware, for example. My completed
VO file is actually used as my software template once I add comment
markers (for whatever language I'm currently using) to each line.

I think you really will like the new version.

Noel

Noel Henson

unread,
Dec 3, 2002, 10:17:18 AM12/3/02
to
For those interested, version 0.2.0 of VimOutliner has just been
released. You can get it here:
http://www.troubleshooters.com/projects/vimoutliner/index.htm

If you've looked at any previous version and were disappointed by the
way it used vim's default folding methods, you're in for a nice surprise.

Noel

aku

unread,
Dec 4, 2002, 3:55:28 AM12/4/02
to
* Noel Henson <no...@noels-lab.com>:

I use vim and outlining for projectmanagement like this:

this is the main task, "status=open", "owner=pete", "duedate=dec 15"
this is subtask 1, "status=done", owner="john", "duedate=dec 10"
this is subtask 2, "status=open", owner="john", "duedate=dec 10"
this is subtask 2a, "status=open", owner="steve", "duedate=dec 08"

Tasks that have status "done" show up in green and the others in red.

I had a brief look at vimoutliner, but couldn't find anything that would
enhance the above method for doing projectmanagement apart from the HTML
reporting. I'll stay tuned though.

aku

>
> Cheers,
> Noel
>

Peter Karp

unread,
Dec 4, 2002, 4:34:31 AM12/4/02
to
On Tue, 03 Dec 2002 00:48:58 GMT, Noel Henson <no...@noels-lab.com>
wrote:

> Peter Karp wrote:

> Sometime this week is should be ready to download.

Great, I'll surely have a look.



> > One thing which I think would be a cool idea is to use a specific file
> > format (although plain ascii) to structure the document. I often use
> > the freeware version of treepad (lite). That's one of the first
> > outline editors.
>
> I'll take a look at it when I get a chance. I must say that I am very
> fond of the pure ASCII file format of VimOutliner.

_I_ surely understand this. I also always like simple file ASCII based
file formats better then binary formats (at least for text based
things).

> It is simple
> tab-indented text. What is it that I would gain from a specific file format?

I think that got clear in the lines at the bottom of my posting.
Mainly:

1) _compatible_ to many outliners and tools
2) Allow to work with different persons on one file, where the Vimmers
can use their favourite tool, while others still have the chance to
use a GUI-outliner. _Very_ handy when you want to use an Outliner for
maintaining a support "database".
3) Eliminate one disadvantage of the tab-indention: You loose screen
space.
4) when using treepad you can do a global search and the hits will
show up separated in the node header or body. Also sorting a tree or a
subtree is possible. I don't recall if your version offers this too,
but will see that :-)
Another (minor) advantage of using treepad is that you can have links
to e-mails, urls, files or other nodes (while nodes can be problematic
in that sense that you can't transfer branches, when you want to keep
the hyperlinks working).

But Point number 2) is the most important IMO, because it allows to
seemlessly switch between a GUI-outliner and the great options you
have with Vim.

> > Would that be an idea to change the marker to a fold-expression, which
> > reflects the treepad format?
>
> I looked at the file format you included. Instead of change the fold
> markers (which are just tabs) so that the format you provided could be
> used natively, I would suggest writing a VimOutliner-to-TreePad
> import/export script.

That's also a not too bad solution. Shouldn't be too hard also.



> One of the other nifty things about the tab-indented file format is that
> it is very easy to parse with external tools to create different
> presentations of the same data. Since there is no special file format, I
> can also use it as design guides for firmware, for example.

I see, but that's not different from the treepad format. I have a tiny
sed script (which could be improved) which creates a html version of
the treepad file.

> My completed VO

VO?

> file is actually used as my software template once I add comment
> markers (for whatever language I'm currently using) to each line.

Sounds interesting.

Oops, I just looked at your project page. I must admit I never had the
chance to try your solution. Right now I'm running Win-bases OS. So I
don't have the chance to use your solution. I thought your outliner
was a Vim only solution. External tools like perl or others would be
available on my computer. When I find the time I'll look what I need
to get your solution running and if I have everything on my win
system.

Sorry for my misunderstanding. I thought that I already had tried your
outliner earlier...

Greetings from Cologne
Peter

Noel Henson

unread,
Dec 4, 2002, 8:37:01 AM12/4/02
to
Peter,

Peter Karp wrote:
> On Tue, 03 Dec 2002 00:48:58 GMT, Noel Henson <no...@noels-lab.com>
> wrote:
>
>
>>Peter Karp wrote:
>
>
>>Sometime this week is should be ready to download.
>
>
> Great, I'll surely have a look.
>
>
>>>One thing which I think would be a cool idea is to use a specific file
>>>format (although plain ascii) to structure the document. I often use
>>>the freeware version of treepad (lite). That's one of the first
>>>outline editors.
>>
>>I'll take a look at it when I get a chance. I must say that I am very
>>fond of the pure ASCII file format of VimOutliner.
>
>
> _I_ surely understand this. I also always like simple file ASCII based
> file formats better then binary formats (at least for text based
> things).
>
>
>>It is simple
>>tab-indented text. What is it that I would gain from a specific file format?
>
>
> I think that got clear in the lines at the bottom of my posting.
> Mainly:
>

I understand you now.

> 1) _compatible_ to many outliners and tools
> 2) Allow to work with different persons on one file, where the Vimmers
> can use their favourite tool, while others still have the chance to
> use a GUI-outliner. _Very_ handy when you want to use an Outliner for
> maintaining a support "database".

We are discussing methods for collaboration. Real-time collaboration
becomes difficult. Multiple editors on one files is somewhat less so. It
appears that you have put some thought into this and have some good
ideas. Perhaps you'd like to join our mailing list and participate.

> 3) Eliminate one disadvantage of the tab-indention: You loose screen
> space.

We have remedied that problem. You can choose the displayed size of the
tabs. I prefer 4. Some prefer 3 or two.

> 4) when using treepad you can do a global search and the hits will
> show up separated in the node header or body. Also sorting a tree or a
> subtree is possible. I don't recall if your version offers this too,
> but will see that :-)

Sorting is now included but only works on selected regions. I have been
thinking about how to implement a platform-independent method of sorting
trees.

> Another (minor) advantage of using treepad is that you can have links
> to e-mails, urls, files or other nodes (while nodes can be problematic
> in that sense that you can't transfer branches, when you want to keep
> the hyperlinks working).
>

We already have linking where a heading can link to a different heading
in the current or any other VO document. We have functional but still
experimental linking to urls and files. We can even have a heading
execute any arbitrary program; much like a shell (but still experimental).

> But Point number 2) is the most important IMO, because it allows to
> seemlessly switch between a GUI-outliner and the great options you
> have with Vim.
>

True enough. But why not add the GUI functions to Vim? I use GVim mostly
and it appears to have all the GUI-ness that one could want. You can
even use the "easy" mode to make it mimic a windows-like editor that has
no command or normal modes; just an insert mode.

>
>>>Would that be an idea to change the marker to a fold-expression, which
>>>reflects the treepad format?
>>
>>I looked at the file format you included. Instead of change the fold
>>markers (which are just tabs) so that the format you provided could be
>>used natively, I would suggest writing a VimOutliner-to-TreePad
>>import/export script.
>
>
> That's also a not too bad solution. Shouldn't be too hard also.
>

One of the all-time great outliners, MaxThink, used an ascii format in
which the number of spaces heading a line determined is outline level.
Its body text was indicated by having no spaces. This would be a _very_
easy one to import/export. I assume Neil's new Windows version would be
able to use the same files, at least for import and export anyway.

>
>>One of the other nifty things about the tab-indented file format is that
>> it is very easy to parse with external tools to create different
>>presentations of the same data. Since there is no special file format, I
>>can also use it as design guides for firmware, for example.
>
>
> I see, but that's not different from the treepad format. I have a tiny
> sed script (which could be improved) which creates a html version of
> the treepad file.
>

I see we have come up with similar solutions. I have created a similar
program to do the same with my files. Other people seem to appreciate
the prettiness of the html version.

If you are doing that, there is another that you may want to interface
to. It accepts formatted html and generates a complete set of
hyper-linked html *slides*. I use it to generate slides for
presentations or documentation. From a single outline you can easily
generate over a hundred pretty, html slides complete with backgrounds,
copyright notices and navigation. Its kinda like PowerPoint only easier
and faster. But I digress.... :)

>
>>My completed VO
>
>
> VO?
>

VimOutliner.

>
>>file is actually used as my software template once I add comment
>>markers (for whatever language I'm currently using) to each line.
>
>
> Sounds interesting.
>
> Oops, I just looked at your project page. I must admit I never had the
> chance to try your solution. Right now I'm running Win-bases OS. So I
> don't have the chance to use your solution. I thought your outliner
> was a Vim only solution. External tools like perl or others would be
> available on my computer. When I find the time I'll look what I need
> to get your solution running and if I have everything on my win
> system.

Don't let that discourage you. Try it anyway. You can get help for a
manual installion on Windows from the mailing list if you want. The
outlining functions are in a vim script and should just work except for
sorting. The hyperlinking will be a problem as will program execution.

>
> Sorry for my misunderstanding. I thought that I already had tried your
> outliner earlier...

No worries. Perhaps you will get the chance in the future.

>
> Greetings from Cologne
> Peter

Have a great day!
Noel

Noel Henson

unread,
Dec 4, 2002, 8:41:52 AM12/4/02
to

AKU,

Did you take a look at the new version that was just released? It may
have a bit more to offer. The big thing is proper folding and collapsing
of subtasks into tasks.

What features do you believe should be added?

Cheers,
Noel

aku

unread,
Dec 5, 2002, 10:03:04 AM12/5/02
to
* Noel Henson <no...@noels-lab.com>:

indeed: quite nice.
The way I solve this is to simply force myself to use 1 line only for a task and
to put all extra information somewhere else.

>
> What features do you believe should be added?

if you look at an outliner like shadow for PalmOs or similar products, there's
always a concept of 'properties' like duedate, startdate, link, etc....
In my case (projectmanagement) each project has a nr of properties
and each task also has a nr of properties.

So the biggest feature IMO would be to have a way to do this.....I don't
know however how this would look like.......let me think......it's
almost database functionality but some kind of "form" to fill in the
properties would be ideal.


>
> Cheers,
> Noel
>

Vijayvithal Jahagirdar

unread,
Dec 15, 2002, 10:41:26 AM12/15/02
to
Ralf Merkel <ralf_...@hotmail.com> writes:

<SNIP>


>
> What do you think of it? How do you maintain your to-do lists and
> work reports? Suggestions are very welcome.
>
> Cheers,
> Ralf

Ralf,
through not with vim, you may want to have a look at this alternative,I maintain the todo
list in a plain text file and convert it and My schedule/appointment list
to gif using text2gif utility and
set it as a background for the desktop. I am looking at something that
will do some sort of highlighting in the GIF file based on priority
levels, may be write an xml file for the todo list and ask dia to convert
it to one of the image files (will finish it some day time permitting).

Lance Orner

unread,
Dec 17, 2002, 1:11:06 AM12/17/02
to
In article <ase264$hlt$05$1...@news.t-online.com>, Ralf Merkel wrote:
> Does anybody of you maintain his/her to-do list with VIM?
>
> I'm currently used to write my own to-do's in a plain text file,
> unstructured, each item delimited by a '-- '.

There's a lot to be said about the comment formating features already
available in VIM. The default usually works if the leading line of a
comment starts with "- ", and then if it's a multi-line comment, it
will wrap around properly. If the first line is indented as a
sub-comment, a multi-line comment will also format properly.

> I'm thinking of creating structured entries
> (using some simple bindings) like this:
>
> --
> #PRIO=1 2002-12-01 10:45pm This is an example to-do entry
> Here's some optional text do describe the task.
> Text continues.
> --

I've been thinking of a similar thing. I've seen formats with a XML
flavor to them, or something a little less formal like you've got.
It's trivial to write little functions to put the time and date in
consistently.

I've looked at VimOutliner, and besides working primarily on Win32
systems these days, I'm not really keen on loading all of that custom
script, which includes using hard tabs. I often have a todo/task list
open with my code, and I'm nervous about having a drastically
different environment than what I'm used to, which is what VimOutliner
seems to need. I could be completely wrong though.

I've been using just simple text I can type in no matter which mode
I'm in. Too bad there isn't an XML standard for these things already
defined.

Then, it seems like for the rest of your features, the rest of the
items can be created with little perl scripts which parse the list
into formatted files, or re-formats an existing file. I didn't think
to use external scripts to do this, but I'm getting more interested
the more I think of it.

Again, besides VimOutliner, I haven't found much else for references.
It always seems like there should be more -- my coworkers and I have
been lamenting that there hasn't been a good VI/VIM based programmer's
Journal or Diary program available for years.

--
Lance Orner
la...@orner.net

Antony

unread,
Dec 19, 2002, 6:34:00 AM12/19/02
to
Noel Henson <no...@noels-lab.com> wrote in message
news:<VOJG9.206306$WL3.71398@rwcrnsc54>...

> Cool. Just like mine. Though I use tabs and indentation to
> show grouping and such. That's why I use the Vim Outliner
> script.

This is an example of how my outlines look in Vim, except
that you can only see the colouring in columns one to three.

&#8226; Projects
º Vim
&#8226; Vim outliner
º Compare with the VimOutliner project
º Add HTML export
º Add Lout export
+ Add automatic numbering, for user defined leve...
º MSWord
&#8226; Fix ftp program
&#8226; Update optical alignment add-in
&#8226; Finish real-time optimal paragraph breaker :)
&#8226; Christmas
+ Presents
+ Cards
-&#8226;-

I use foldmarkers for heading levels. `+' indicates folded
text. -&#8226;- marks the end of the list. Text beneath a heading
can be completely freeform ,even though you can't see any
in this example.

I think basing your folding on indentation causes headaches
with the file structure and reduces flexibility. You can't
have totally freeform text beneath a heading. You must
ensure that each and every line has the correct indent.

Antony

Antony

unread,
Dec 19, 2002, 6:40:50 AM12/19/02
to
Aarggh, I knew I should have previewed. Windows or Google
has screwed with my bullets. But I'm sure you got the idea.
Imagine the full stops are nice big blue bullets...

. Projects
º Vim
. Vim outliner


º Compare with the VimOutliner project
º Add HTML export
º Add Lout export
+ Add automatic numbering, for user defined leve...
º MSWord

. Fix ftp program
. Update optical alignment add-in
. Finish real-time optimal paragraph breaker :)
. Christmas
+ Presents
+ Cards
-.-

Antony

0 new messages